1. 创建保存备份文件的路径/mysqldata
mkdir /mnt/mysqldata
3. 新建mysql user, 用于备份数据库
ALTER USER 'b_user'@'localhost' IDENTIFIED BY 'password';
GRANT SELECT, RELOAD, LOCK TABLES, REPLICATION CLIENT, PROCESS, SHOW VIEW, EVENT, TRIGGER ON *.* TO 'b_user'@'localhost';
3. 创建/usr/sbin/bakmysql文件
touch /usr/sbin/bakmysql
#!/bin/sh
# Database info
DB_USER="b_user"
DB_PASS="aaaaaaaaaaaaaaaa"
DB_HOST="localhost"
DB_NAME="bbbbbbb"
# 一些变量
BIN_DIR="/usr/bin" #mysql bin路径
BCK_DIR="/mnt/mysqldata" #备份文件目录
DATE=`date +%F`
# TODO
$BIN_DIR/mysqldump --opt -u$DB_USER -p$DB_PASS -h$DB_HOST $DB_NAME > $BCK_DIR/db_$DATE.sql
4. 修改文件属性,使其可执行
chmod +x /usr/sbin/bakmysql
5.添加定时任务
crontab -e
添加
在下面添加:
1 1 * * * /usr/sbin/bakmysql
表示每天1点钟执行备份。
6. 重新启动crond
service cron restart
7. 查看已有的定时任务
crontab -l
8. 查看定时任务日志
vi /etc/rsyslog.d/50-default.conf
cron.* /var/log/cron.log #将cron前面的注释符去掉
less /var/log/cron.log