mysql数据库提供了备份命令mysqldump,可以结合crontab命令进行定时备份。
我写了一个mysqlbackup.sh的脚本,此脚本按照日期在当前目录下创建一个文件夹,同时在此目录下备份一个文件。内容如下:
!/bin/bash
设置mysql备份目录
folder=/home/chzhao/mysqldump
cd $folder
day=date +%Y%m%d
rm -rf $day
mkdir $day
cd $day
数据库服务器,一般为localhost
host=localhost
用户名
user=root
密码
password=password
要备份的数据库
db=wordpress
数据要保留的天数
days=3
mysqldump -h$host -u$user -p$password $db>backup.sql
zip backup.sql.zip backup.sql
rm backup.sql
cd ..
day=date -d "$days days ago" +%Y%m%d
rm -rf $day
另外,需要配置crontab。假设上述文件位置为/home/chzhao/bin/mysqlbackup.sh,则按以下命令配置crontab.
crontab -e
出现crontab的配置窗口,默认的编辑器是vim。
输入:
0 16 * * * /home/chzhao/bin/mysqlbackup.sh
表示每天的16点执行此脚本。
配置完毕之后,可以通过命令crontab -l查看crontab的配置情况。