#!/bin/bash DT_DATE=$(/bin/date +%Y%m%d-%H%M%S) # функция делает имя файла из даты-времени function dt_fname { if [[ $1 -eq "" ]] ; then echo none.tar.gz else echo ./mysqldump-$1.tar.gz fi } #echo $DT_DATE >./prevdate # запрашиваем предыдущие даты бэкапов #DT_PREVDATE1=$(cat ./prevdate1) #DT_PREVDATE2=$(cat ./prevdate2) #DT_PREVDATE3=$(cat ./prevdate3) DT_PREVDATE4=$(cat ./prevdate4) # делаем ротацию бэкапов и дат бэкапов rm ./prevdate4 rm $(dt_fname $DT_PREVDATE4) #echo $(dt_fname $DT_PREVDATE4) mv ./prevdate3 ./prevdate4 mv ./prevdate2 ./prevdate3 mv ./prevdate1 ./prevdate2 # делаем бэкап rm ./tmp-own/* /usr/bin/mysqldump --all-databases -f --log-error=./tmp-own/mysqldump.err.log > ./tmp-own/mysqldump.sql DT_PREVDATE1=$DT_DATE # регистрируем и сворачиваем бэкап echo $DT_PREVDATE1 >./prevdate1 cd ./tmp-own /bin/tar czvf ../$(dt_fname $DT_PREVDATE1) . cd .. # всё #echo $(dt_fname $DT_DATE) #echo $DT_PREVDATE