#!/bin/bash basedir="/var/backup" prefix="daily" count="25" list="dirs.list" echo mount -o remount,rw ${basedir} mount -o remount,rw ${basedir} last=${basedir}/${prefix}.${count} if [ -d ${last} ]; then echo rm -r ${last} rm -r ${last} 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 echo cp -rl ${src} ${dest} cp -rl ${src} ${dest} else echo mv ${src} ${dest} mv ${src} ${dest} fi else echo mkdir ${dest} mkdir ${dest} fi done for src in `cat ${basedir}/${list}`; do dest=${basedir}/${prefix}.0${src} if [ ! -d ${dest} ]; then echo mkdir -p ${dest} mkdir -p ${dest} fi echo rsync -avx --delete ${src} ${dest} rsync -avx --delete ${src} ${dest} done echo mount -o remount,ro ${basedir} mount -o remount,ro ${basedir}