mysql备份脚本且只保留5天(已经经过测试)
#!/bin/bash
#mysql_bask.sh: backup mysql databases and keep newst 5 days backup.
#------------------------------------------
db_user="root"
db_passwd="123456"
db_host="localhost"
#the directory for story your backup file.
backup_dir="/back"
#date format for backup file (dd-mm-yy)
time="$(date +"%d-%m-%Y")"
#mysql,mysldump and some other bin's path
MYSQL="$(which mysql)"
MYSQLDUMP="$(which mysqldump)"
MKDIR="$(which mkdir)"
RM="$(which rm)"
MV="$(which mv)"
GZIP="$(which gzip)"
#check the directory for store backup is writeable
test ! -w backup_dir && echo "Error:backup_dir && echo "Error:backup_dir is un-writeable." && exit 0
#the directory for story the newest backup
test ! -d "backup_dir" &&backup_dir" &&MKDIR "$backup_dir"
#get all databases
#MYSQLDUMP−udb_user -h dbhost−pdb_passwd -A --events | GZIP−9>"backup_dir/time.db.gz"
#each libaray separately backup
all_db="(MYSQL -u dbuser−hdb_host -p$db_passwd -Bse 'show databases')"
for db in $all_db
do
MYSQLDUMP−udb_user -h dbhost−pdb_passwd db|GZIP -9 > "backupdir/time.$db.gz"
done
#delete the oldest backup 30days age
find $backup_dir -name "*.gz" -mtime +30 | xargs rm -rf
exit 0;
本文转自 zhuxtqw 51CTO博客,原文链接:http://blog.51cto.com/1054054/1703243,如需转载请自行联系原作者