阅读目录
1、新建文件 auto_bak_data.sh 并赋予执行权限
- 1、新建文件 auto_bak_data.sh 并赋予执行权限
- 2、添加备份命令
- MySQL 常用备份命令
- 3、添加定时任务
- 1、实例命令
- 2、计划任务(升级)
- 2.1 创建 shell
- 2.2 编辑 shell 脚本(auto-del-30-days-ago-log.sh)
- 2.3 计划任务
- 2.4 启动任务:重启 crond
- 2.5 瞄一眼是否已经开始任务
# 创建文件
touch auto_bak_data.sh
# 给文件执行权限
chmod +x auto_bak_data.sh
2、添加备份命令
vi auto_bak_data.sh
#!/bin/sh
#注意 变量 变量值 不能与=之前有空格
rq=`date +%Y%m%d`
mysqldump -uuser_ofo -proot --single-transaction ofo>/tmp/mysql_data_backup/ofo_$rq.sql;
find /tmp/mysql_data_backup/ -mtime +7 -name "*.sql" -exec rm -rf {} \;
使用 --single-transaction
可以保证在备份过程中,整个备份集的数据一致性。
1、备份db1数据库中所有表(包括表结构和数据,不包括创建db1数据库的语句)
mysqldump -h192.168.1.10 -uroot -p db1 > xxx.sql
2、备份db1数据库中所有表(包括表结构和数据,包括创建db1数据库的语句)
mysqldump -h192.168.1.10 -uroot -p --databases db1 > xxx.sql
3、备份db1数据库中t1、t2、t3表(包括表结构和数据,不包括创建db1数据库的语句)
mysqldump -h192.168.1.10 -uroot -p db1 t1 t2 t3 > xxx.sql
4、备份多个(db1、db2)数据库(包括建库语句和所有表的结构和数据)
mysqldump -h192.168.1.10 -uroot -p --databases db1 db2 > xxx.sql
5、备份所有数据库(包括建库语句和所有表的结构和数据)
mysqldump -h192.168.1.10 -uroot -p --all-databases > xxx.sql
6、备份db1数据库中所有表结构(只包括表结构,加-d参数)
mysqldump -h192.168.1.10 -uroot -p -d db1 > xxx.sql
7、备份db1数据库中t1、t2、t3表结构(只包括表结构,加-d参数)
mysqldump -h192.168.1.10 -uroot -p -d db1 t1 t2 t3 > xxx.sql
8、备份db1数据库中所有表数据(只包括表数据,加-t参数)
mysqldump -h192.168.1.10 -uroot -p -t db1 > xxx.sql
9、备份db1数据库中t1、t2、t3表数据(只包括表数据,加-t参数)
mysqldump -h192.168.1.10 -uroot -p -t db1 t1 t2 t3 > xxx.sql
10、恢复命令
mysql -uroot -proot ysknowage /dev/null 2>&1
2.4 启动任务:重启 crond
service crond restart
#centos7 请执行 systemctl restart crond
2.5 瞄一眼是否已经开始任务
crontab -l
PS: 如果需要查看定时任务执行日志:
cat /var/log/cron
完成以上三步,妈妈再也不用担心我的硬盘空间满了,不用手动清理日志文件了。