MySql自动备份

空间检查

在备份之前最好做一下空间检查,省的备份之后空间不足

root@iZbp1dk5nao5z09s7zzvh9Z:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            983M     0  983M   0% /dev
tmpfs           201M  2.9M  198M   2% /run
/dev/vda1        40G  3.5G   34G  10% /
tmpfs          1001M     0 1001M   0% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs          1001M     0 1001M   0% /sys/fs/cgroup
tmpfs           201M     0  201M   0% /run/user/0

备份脚本

vim bkDatabaseName.sh

并写入下面内容,里面包含了使用gzip压缩

#!/bin/bash
username='username'
password='password'
database='database'
mysqldump -u$username -p$password $database | gzip > /opt/mysql_backup/$database\_$(date +%Y%m%d_%H%M%S).sql.gz

注意:
username 替换为实际的用户名;
password 替换为实际的密码;
database 替换为实际的数据库名;

添加可执行权限

sudo chmod u+x bkDatabaseName.sh

添加可执行权限之后先执行一下,看看脚本有没有错误,能不能正常使用,一切成功,就可以在当前文件夹下看到备份的文件。注意当前文件夹要有写的权限!

./bkDatabaseName.sh

添加计划任务

执行命令

crontab -e

然后在最后添加一行这样代码,这个是在每天的 04:00 AM 执行一次。

0 4 * * * /opt/mysql_backup/bkDatabaseName.sh

添加完成之后使用查看任务是否成功

crontab -l

其他:crontab执行时间计算 – 在线工具

备注

数据无价,及时备份!

点赞