Linux服务器自动备份数据库

1 创建shell脚本文件

vi backups.sh

输入以下内容:

#!/bin/sh
mysqldump -uusername -ppassword DatabaseName > DatabaseName_$(date +%Y%m%d_%H%M%S).sql

注意PS:
username 为登录数据库用户名
password 为数据库登陆密码
DatabaseName 为数据库名称
后面()中的date与+之间一定要一个空格,不然会报错


2 给脚本文件 添加执行权限

chmod u+x backups.sh

添加执行权限后直接 ./backups.sh测试脚本文件执行结果


3 添加定时执行任务crontab

crontab –e : 修改 crontab 文件,如果文件不存在会自动创建。
crontab –l : 显示 crontab 文件。
crontab -r : 删除 crontab 文件。
crontab -ir : 删除 crontab 文件前提醒用户。

执行crontab –e后,直接与vi编辑器一样编辑文件,如:

#每分钟执行一起
*/1 * * * * /root/backups.sh

在crontab文件中写入需要执行的命令和时间,该文件中每行都包括六个域,其中前五个域是指定命令被执行的时间,最后一个域是要被执行的命令。每个域之间使用空格或者制表符分隔。格式如下:

minute hour day-of-month month-of-year day-of-week commands    

合法值为:00-59 00-23 01-31 01-12 0-6 (0 is sunday)

除了数字还有几个特殊的符号:”*”、”/”和”-“、”,”

*代表所有的取值范围内的数字
“/”代表每的意思,”/5”表示每5个单位
“-“代表从某个数字到某个数字
“,”分开几个离散的数字

例子:

#1月1日早上4点
0 4 1 1 * /root/backups.sh

#每天早上6点
0 6 * * * /root/backups.sh

4 总结

在编辑完crontab文件之后,有的退出编辑,即可生效。
如若不能生效,重启cron服务service cron restart

猜你喜欢

转载自blog.csdn.net/q410654146/article/details/76138977
今日推荐