-
Notifications
You must be signed in to change notification settings - Fork 0
koshtech/bash_rsync_backup
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
# Bash Rsync Backup A lite Bash script to do backups for many host to many hosts, includind or not theirs databases. ## Features: * Unlimited hosts * Simple config files * Run from Cron or command line * Dump and compact MySQL databases ## How to use it: Change to /opt: $ cd /opt Clone the repos: $ sudo git clone git://github.com/KoshTech/bash_rsync_backup.git Create a main script simlink: $ sudo ln -s /opt/bash_rsync_backup/bin/rsyncbackup /usr/local/bin/ Copy base configuration files: $ cp -r /opt/bash_rsync_backup/etc/backup.d /etc/ Create your backup: Goto into /etc/backup.d and make a copy of the host1* files: $ cd /etc/backup.d $ cp host1 myserver $ cp host1_exclude myserver_exclude Now edit myserver and make your changes: $ nano myserver Assume you want to make a 1st backup layer on a secound hard drive on same box, make your changes like: source_host="local" # A hostname here will make a remote backup. 'local' makes # a local backup. A 1st backup layer on a secound hard # drive on same box. source_folders="/etc /usr/local /home/ /some/folder" # What we want to backup. exclude_from="myserver_exclude" # What we do not want to backup. destination_folder="/media/local_backup/" # Where we will put the backup in # local or remote. destination_host="local" # 'local' makes a local backup. A 1st backup layer on # a secound hard drive on same box. A hostname here # will make a remote backup. Save and exit. Now edit and remove unwanted rows of myserver_exclude. Edit machines-enabled and change from host1 to myserver: nano machines-enabled Run your backups: $ rsyncbackup ### Old version Copy rsyncbackup.sh to /usr/local/bin copy host1, host1_exclude and machines-enabled files to /etc/backup.d Edit host1 as you needed ## Adding more hosts: Make a copy of /etc/backup.d/host1 to /etc/backup.d/host2 and adjust all values. Add the host2 at end of /etc/backup.d/machines-enabled and save it. ## How it works? The script looks at /etc/backup.d/machines-enabled to retreive a list of hosts. The file /etc/backup.d/host1 contains the settings for backup of host1 machine. The file /etc/backup.d/host1_exclude contains a list of files that must be ignored in backup. For MySQL backups just put the login and data for root user in /etc/backup.d/host1. If mysql login credentials are present the backup will dump all databases.
About
Simple Bash Rsync Backup for multlipe hosts
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published