首先找到你的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
。