[MySQL]MySQL自动备份

创建 backup.sh 脚本

新建 backup.sh,输入以下内容:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
db_user="Your database user"
db_passwd="Your password"
db_name="Your database name"

# 备份文件存储目录,你需要更改此目录
backup_dir="/home/mysqlbackup"

# 备份文件的日期格式 (dd-mm-yyyy)
time="$(date +"%Y%m%d%H%M%S")"

# 执行备份命令
mysqldump -h localhost -u $db_user -p$db_passwd --all-databases --sock=/var/lib/mysql/mysql.sock > "$backup_dir/db_$time.sql"

然后,赋予脚本执行权限并执行脚本:

1
2
chmod +x ./backup.sh
bash -x ./backup.sh

如果报套接字错误,需要指定 sock,详见:http://blog.csdn.net/seteor/article/details/18356079

创建定时任务

编辑定时任务:

1
crontab -e

在编辑界面中,添加以下内容:

1
00 23 * * * /home/mysqlbackup/backup.sh

上述命令将在每天23:00执行 backup.sh 文件,备份数据库到路径 /home/mysqlbackup

查看定时任务:

1
crontab -l