超级简单数据库备份和删除脚本和定时crontab用法(liunx操作系统)

1.有些虚拟机没装crontab,需要安装

安装和启动命令
    yum install vixie-cron
    yum install crontabs
    service crond start
    service crond stop
    service crond status

2.数据库备份直接命令(在不需要加入定时脚本的时候直接备份到自己设定的目录下)

数据库的备份---(数据库ip例如:127.0.0.1)
数据库备份语法,运行过程中出现error不要管,直到备份完成后会自动跳出备份界面
cd /data/back(备份目录)
mysqldump -u数据库用户名 -p数据库密码 --force 库名 > /data/back/BF_SC.sql
例如:mysqldump -uroot -puzhg --force db > /MDM/MYSQL/BF_SC.sql;

3.定时任务crontab来自动备份数据库

比如现在需要在每天晚上的1点30分自动备份MySQL数据库中的名字为mysql的库到一个指定的目录,比如root目录下的mysql_backup文件夹,那么备份命令就是下面这样
/usr/bin/mysqldump -uUsername -pPassword db > /root/mysql_backup/mysql_$(date +%Y%m%d_%H%M%S).sql

“Username”是我们数据库的用户

“Password”是这个用户的密码

“db”为我们需要备份的数据库中的某个数据库

因为我们每天晚上都会备份一下数据库,所以备份之后我们以当时的备份时间来命名备份文件,即为“mysql_$(date +%Y%m%d_%H%M%S).sql”,比如我2019年1月30号晚上1点30分整备份的数据库即为“mysql_20190130_013000.sql”。

4.删除之前备份的数据库
我们可以在每天备份时同时删除一段时间之前的备份数据,比如我们需要删除30天之前的备份
find /root/mysql_backup/ -mtime +30 -type f | xargs rm -f
“/root/mysql_backup/”为我们备份文件的保存目录

“-mtime +30”是设置时间为30天前

“-type f”表明查找的类型是文件

这行命令完成的操作是:查找/root/mysql_backup/目录下30天之前的文件并且删除。

备份跟删除的命令我们都写好了,那么我们可以通过crontab来让系统每天自动的去执行这两个任务

5.脚本的书写(crontab -e 查看所有脚本运行计划)

crontab解释:

crontab -u //设定特定用户的定时服务
crontab -l //列出当前用户定时服务内容
crontab -r //删除当前用户的定时服务
crontab -e //编辑当前用户的定时服务

创建一个任务脚本mysql_autobackup.sh,写入我们刚才的两条命令并给于文件最高权限

赋权
chmod 770 mysql_autobackup.sh

脚本内容:
#!/bin/bash
/usr/bin/mysqldump -uUsername -pPassword mysql > /root/mysql_backup/mysql_$(date +%Y%m%d_%H%M%S).sql
find /root/mysql_backup/ -mtime +30 -type f | xargs rm -f

crontab -e 写入计划任务并保存
30 01 * * * /root/mysql_autobackup.sh
表示每天晚上1点30分会执行root目录下的mysql_autobackup.sh脚本,就是我们上面编写的备份跟删除操作的脚本,这样就可以完成系统每天自动备份数据库并且会自动的去查找超过30天的备份并删除

crontab用法:
 

1.在设定编辑之前都建议列出服务查看一下:crontab -l
2.然后编辑定时任务:crontab -e  进入编辑界面会显示已存在的定时任务
添加定时任务
3.前面五个*号代表
前面五位是定时执行的时间周期 
第一个 * 表示分钟:取值范围 0-59
第二个 * 表示小时:取值范围0-23
第三个 * 表示天数:取值范围1-31
第四个 * 表示月份:取值范围1-12
第五个 * 表示每周:取值范围0-6 
****1 备份脚本路径----每一周备份一次
4.添加完后service crond restart重启

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小菜机一枚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值