diff --git a/crontabbackupdaily/README.md b/crontabbackupdaily/README.md index 3d18cd4..dcb09ee 100644 --- a/crontabbackupdaily/README.md +++ b/crontabbackupdaily/README.md @@ -1,6 +1,5 @@ ### crontab backup daily -Simple backup script for everyday cron execution. -After execution `crontab -e` add new line to crontab schedule: +Simple backup script for everyday cron execution. Make the file executable and after execution `crontab -e` add new line to crontab schedule: ``` -@daily sh /home/user/backup.sh +@daily /home/user/backup.sh ``` \ No newline at end of file diff --git a/crontabbackupdaily/backup.sh b/crontabbackupdaily/backup.sh index 77524e7..2b16c1c 100755 --- a/crontabbackupdaily/backup.sh +++ b/crontabbackupdaily/backup.sh @@ -3,18 +3,32 @@ # after execution `crontab -e` add new line to crontab schedule: # @daily sh /home/user/backup.sh +# dir for archives: +SAVEDIR=/home/user/archive/ + # files and dirs for backup: backups[0]=/home/user/some.file backups[1]=/home/user/somedir -# dir for archives: -SAVEDIR=/home/user/archive/ +# mysql databases for backup: +db[0]=databasename1 +db[1]=databasename2 # number of days for backup DAYS=5 WEEKS=10 +# create db backups +for n in ${!db[@]}; do + dbbackups[n]=${SAVEDIR}${db[n]}.gz + mysqldump ${db[n]} > ${dbbackups[n]::-3} + gzip ${dbbackups[n]::-3} +done + # create archive with file name 'arc.tar.gz' tar -cvzf ${SAVEDIR}arc.tar.gz ${backups[*]} +# remove db backups +rm ${dbbackups[*]} + # save last WEEKS if [ -e ${SAVEDIR}arc-w1.tar.gz ] then