1、备份脚本:
vi xxx.sh
#!/bin/sh
backup_root=/dev/shm/backup#备份文件的目录
backup_filedir=$backup_root/data
date=$(date +%Y%m%d%M%H%S)
echo ----------------$data-------------------
databases=$(/mysqlsoft/mysql/bin/mysql -uroot -pLunz2017 -e "show databases" | grep -Ev "Database|sys|information_schema|performance_schema|mysql")
for db in $databases
do
echo
# -t 表示只备份数据
# -d 表示只备份结构
echo ----------$backup_filedir/${db}_$date.sql.gz begin----------
/mysqlsoft/mysql/bin/mysqldump -uroot -pLunz2017 -d --default-character-set=utf8 -q --lock-all-tables --flush-logs -E -R --triggers -B ${db} | gzip > $backup_filedir/${db}_$date.sql.gz
echo
echo ----------$backup_filedir/${db}_$date.sql.gz complete----------
echo
done
echo "done"
注:根据需要修改备份文件目录、mysql存放目录,以及root账号的密码。
2、设置脚本的执行权限:
chmod 777 xxx.sh
3、定时清除备份数据脚本(七天前,可根据实际情况修改):
vi aaa.sh
#!/bin/sh
echo ---------$(date +%Y%m%d%M%H%S)--------------
echo ---------clean begin--------
find /dev/shm/backup/data -mtime +7 -name "*.gz" -exec rm -rf {} \;
echo ---------clean complete--------
4、设置脚本的执行权限:
chmod 777 aaa.sh