1.创建并编辑文件 /usr/sbin/bakmysql.sh,命令如下:
vi /usr/sbin/bakmysql.sh
写入如下代码:db_user="root"
db_passwd="root"
db_name="db_test"
backup_dir="/usr/software/backup/mysqlbackup"
time="$(date +"%Y%m%d%H%M%S")"
mysqldump -u$db_user -p $db_name --password='password' > "$backup_dir/$db_name"_"$time.sql"
注意“ --password ”表示:如果需要数据库密码时在该位置使用 “ --password='你的密码' ”来设置
2.修改文件bakmysql.sh属性,使其可执行;
chmod +x /usr/sbin/bakmysql.sh
先开启crond: service crond start
设置crond开机自启动:chkconfig --level 345 crond on
3.创建定时任务
如果是root用户可执行以下命令:
vi /etc/crontab
#进入编辑界面,内容如下
00 23 * * * root /usr/sbin/bakmysql.sh
#23代表在每天23点的时候执行
(注意:设置固定时间时一定要先查看服务器上时间是否与现在时间一致,
如果时区不同那请自行换算时间,查看时间的命令:date -R)
#加载任务,使之生效
crontab /etc/crontab
#查看任务
crontab -l
如果是非root用户则改成如下内容:
crontab -e
*/30 * * * * source /usr/sbin/bakmysql.sh
# 每隔30分钟执行 bakmysql.sh 文件
4.设置完成后重启crond: service crond restart