首先找到你的MySQL配置文件my.cnf
$ locate my.cnf
> /etc/my.cnf
然后修改它,
$ nano /etc/my.cnf
在[client]
里增加三行:
host = localhost
user = root
password = yourpassword
本来不需要这些操作,直接把用户名密码写到备份脚本里就可以,
但是 MySQL 5.6 之后在命令行里写密码会出现警告。
然后创建脚本文件mybak.sh
$ nano ~/mybak.sh
文件内容如下:
#!/bin/bash
root="/data/backup/"
dir=`date "+%y%m%d/"`
mkdir -p $root$dir
cd $root$dir
/usr/local/mysql/bin/mysqldump db1 > db1.sql
/usr/local/mysql/bin/mysqldump db2 > db2.sql
/usr/local/mysql/bin/mysqldump db3 > db3.sql
记得给它执行的权限:
$ chmod +x ~/mybak.sh
然后再修改crontab
$ export EDITOR=nano
$ crontab -e
export EDITOR=nano
将nano设置为默认编辑器
添加一行
0 1 * * * ~/mybak.sh >> ~/mybak.log 2>&1 &
意思是每天1:00的时候执行~/mybak.sh
,并且将所有输出记录到~/mybak.log
。