shell脚本,备份5天以内的数据,删除之前的,crontab每天执行一次
echo "start"
base_folder="备份文件存储路径"
today_date_format=$(date +%Y-%m-%d)
echo ${today_date_format}
today_mysql_filename="mysql数据库名-"$today_date_format".sql"
today_mysql_zip_filename=${today_mysql_filename}".zip"
today_redis_filename="redis_backup-"$today_date_format".rdb"
today_redis_zip_filename=${today_redis_filename}".zip"
echo "today mysql filename" ${base_folder}${today_mysql_filename}
echo "today redis filename" ${base_folder}${today_redis_filename}
echo "today mysql zip filename" ${base_folder}${today_mysql_zip_filename}
echo "today redis zip filename" ${base_folder}${today_redis_zip_filename}
mysqldump -u 账号 --password='密码' mysql数据库名 > ${base_folder}${today_mysql_filename}
cp /var/lib/redis/dump.rdb ${base_folder}${today_redis_filename}
zip ${base_folder}${today_mysql_zip_filename} ${base_folder}${today_mysql_filename}
rm ${base_folder}${today_mysql_filename}
zip ${base_folder}${today_redis_zip_filename} ${base_folder}${today_redis_filename}
rm ${base_folder}${today_redis_filename}
before_date=$(date -d"5 day ago" +%Y-%m-%d)
five_days_before_mysql_filename="mysql数据库名-"${before_date}".sql.zip"
five_days_before_redis_filename="redis_backup-"${before_date}".rdb.zip"
echo "before mysql zip filename" ${base_folder}${five_days_before_mysql_filename}
echo "before redis filename" ${base_folder}${five_days_before_redis_filename}
### zip archive.tar.gz archive 压缩
### tar -xzvf archive.tar.gz 解压
if [ ! -f ${base_folder}${five_days_before_mysql_filename} ];then
echo "no mysql file"
else
rm -f ${base_folder}${five_days_before_mysql_filename}
fi
if [ ! -f ${base_folder}${five_days_before_redis_filename} ];then
echo "no redis file"
else
rm -f ${base_folder}${five_days_before_redis_filename}
fi
echo "done"