diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2017-07-23 12:20:37 +0100 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2017-07-23 12:22:23 +0100 |
commit | bf1d496a84e131af7b0fa3f827bb1ea802bae875 (patch) | |
tree | 7a7dc99f73fc4a5cc885685e7df04318a437e03c /scripts | |
parent | Give the dhcp failover peer a sensible name (diff) | |
download | config-bf1d496a84e131af7b0fa3f827bb1ea802bae875.tar.bz2 config-bf1d496a84e131af7b0fa3f827bb1ea802bae875.tar.xz config-bf1d496a84e131af7b0fa3f827bb1ea802bae875.zip |
Revamped backup script
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/backup.cron | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/scripts/backup.cron b/scripts/backup.cron index f8e1ccb..df389c6 100755 --- a/scripts/backup.cron +++ b/scripts/backup.cron @@ -13,24 +13,25 @@ mount ${basedir} echo "Start @ `date`" > ${basedir}/time last=${basedir}/${prefix}.${count} -if [ -d ${last} ]; then - rm -r ${last} +lasttmp=${basedir}/${prefix}.${count}.tmp +if [ -d ${lasttmp} ]; then + rm -r ${lasttmp} +fi +if [ -x ${last} ]; then + mv ${last} ${lasttmp} fi for n in `seq ${count} -1 1`; do ((m=$n - 1)) src=${basedir}/${prefix}.$m dest=${basedir}/${prefix}.$n - if [ -d ${src} ]; then - if [ ${m} -eq 0 ]; then - cp -rlP ${src} ${dest} - else - mv ${src} ${dest} - fi - else - mkdir ${dest} - fi + mv ${src} ${dest} done +if [ -d ${lasttmp} ]; then + mv ${lasttmp} ${basedir}/${prefix}.0 +else + mkdir -p ${basedir}/${prefix}.0 +fi for src in `cat ${basedir}/${list}`; do dest=${basedir}/${prefix}.0/${src} @@ -39,7 +40,7 @@ for src in `cat ${basedir}/${list}`; do fi rsync -ax --delete ${src} ${dest} done -hardlink -t ${basedir}/${prefix}.? +touch ${basedir}/${prefix}.0 echo "Begin MySQL @ `date`" >> ${basedir}/time rm -f ${basedir}/${prefix}.0/mysql.sql.xz @@ -57,6 +58,9 @@ pg_dump -Upostgres p2pvr | xz > ${basedir}/${prefix}.0/postgresql-p2pvr.sql.xz rm -f ${basedir}/${prefix}.0/postgresql-bugzilla.sql.xz pg_dump -Upostgres bugzilla | xz > ${basedir}/${prefix}.0/postgresql-bugzilla.sql.xz +echo "Begin hardlink @ `date`" >> ${basedir}/time +hardlink -mt ${basedir} + echo "End @ `date`" >> ${basedir}/time umount ${basedir} |