您当前的位置: 首页 >  linux

知其黑、受其白

暂无认证

  • 3浏览

    0关注

    1250博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Linux 定时备份数据库并删除 N 天以前的数据

知其黑、受其白 发布时间:2022-07-26 18:31:04 ,浏览量:3

阅读目录
  • 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 瞄一眼是否已经开始任务

1、新建文件 auto_bak_data.sh 并赋予执行权限
# 创建文件
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 可以保证在备份过程中,整个备份集的数据一致性。

MySQL 常用备份命令
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

完成以上三步,妈妈再也不用担心我的硬盘空间满了,不用手动清理日志文件了。

关注
打赏
1665558895
查看更多评论
立即登录/注册

微信扫码登录

0.1210s