Linux/SimpleBashBackup: Difference between revisions
< Linux
Line 41: | Line 41: | ||
=== multiple folders === | === multiple folders === | ||
=== clean old backups === | === clean old backups === | ||
<pre> | |||
KEEP="4" | |||
cd $BACKUPDIR | |||
cd .. | |||
ls -r | sed -e 1,${KEEP}d | xargs rm -r | |||
</pre> | |||
=== rsync backup files to other server === | === rsync backup files to other server === | ||
<pre> | <pre> | ||
rsync -avz -e ssh $BACKUPDIR username@hostnameoftarget:/srv/backup-data/targetfolder | rsync -avz -e ssh $BACKUPDIR username@hostnameoftarget:/srv/backup-data/targetfolder | ||
</pre> | </pre> |
Revision as of 17:14, 3 June 2016
default folder structure
/srv /backup /backupmanager.sh /01_daily-jobs /02_weekly-jobs /03_monthly-jobs /templates /tmp /backup-data /01_daily /02_weekly /03_monthly
backupmanager.sh
example jobs
- each job file needs to be located in one of the job folders (01_daily-jobs, 02_weekly-jobs, 03_monthly-jobs)
- each job file needs to end in .job
- the following variables are passed on from the main script
- BACKUPDIR -> path where the backupfile should be placed (e.g. /srv/backup-data/01_daily/2016-05-23)
- FILEDESC -> datecode to be used in the filename
- TEMPDIR -> can optionally be used for temp files
single folder
weak compression
ARCHIV="$BACKUPDIR/${FILEDESC}_server_srv_www.tar.gz" tar -c /srv/www | pigz --best > $ARCHIV
strong compression
ARCHIV="$BACKUPDIR/${FILEDESC}_server_srv_www.tar.7z" tar -c /srv/www | 7z a -m0=lzma2 -mx9 -si $ARCHIV
multiple folders
clean old backups
KEEP="4" cd $BACKUPDIR cd .. ls -r | sed -e 1,${KEEP}d | xargs rm -r
rsync backup files to other server
rsync -avz -e ssh $BACKUPDIR username@hostnameoftarget:/srv/backup-data/targetfolder