创建文件夹
mkdir /home/backup/mysql
创建一个脚本文件 mysqlback.sh 放在 /home/backup 目录下,脚本内容如下
#用户名
db_user="root"
#密码
db_password="123"
#数据库
db_name="aaa"
# date format for backup file (yyyyMMdd_hhmmss)
time="$(date +"%Y%m%d_%H%M%S")"
backup_dir="/home/backup/mysql"
#注意:/usr/local/mysql/bin/mysqldump 要替换为自己的文件路径
/usr/local/mysql/bin/mysqldump -u$db_user -p$db_password $db_name > $backup_dir/$db_name_$time.sql
#删除一个月之前的备份
find $backup_dir -name $db_name"*.sql.gz" -type f -ctime +30 -exec rm -rf {} \; > /dev/null 2>&1
添加权限
chmod u+x mysqlback.sh
设置编码
vi mysqlback.sh
:set ff=unix
:wq
检查脚本,运行成功会在mysql文件夹下生成.sql文件
./mysqlback.sh
确认crontab是否安装
crontab -l
如果报 “command not found” ,就说明该crontab服务没有安装 如果报 “no crontab for root” ,就说明已经安装crontab服务了, 不用再安装了
安装命令如下
yum -y install vixie-cron
yum -y install crontabs
启动服务
service crond start
设置开机自启动
chkconfig --level 345 crond on
检测cron定时服务是否自启用
systemctl is-enabled crond.service
enable表示已启用自启动
disable标识未启用自启动
开启cron自启用
systemctl enable crond.service
cron关闭自启动
systemctl disable crond.service
添加计划任务
crontab -e
再按下 a 键进入到编辑模式
00 20 * * * /home/backup/mysqlback.s
按下 ctrl+c 退出编辑模式
:wq
控制台回显“crontab:installing new crontab” 表示添加调度任务成功。
重启
service crond restart
查看crond状态是否开启
service crond status
查看定时任务列表
crontab -l