1、創(chuàng)建備份文件夾
#cd /www
#mkdir mysqlbak (存放備份文件)
2、編寫運(yùn)行腳本
#vi autobackup.sh
寫入以下內(nèi)容:
mydate=`date +%Y%m%d_%H:%M`
mysql_bin_dir/mysqldump --opt database -u username -h host -ppassword | gzip > /var/mysqlbackup/$mydate.gz
如果mysql環(huán)境變量已配置完成
可以這樣:
mydate=`date +%Y%m%d_%H:%M`
mysqldump -u root -p dataname | gzip> /home/moyq/mysqlbak/mysql-$mydate.gz
保存退出
說明:
(1)mysql_bin_dir:mysql的bin路徑;
(2)dataname:數(shù)據(jù)庫名;
(3)user:數(shù)據(jù)庫用戶名;
(4)password:用戶密碼;
(5)name:自定義備份文件前綴標(biāo)識。
如上例,將自動備份mysql數(shù)據(jù)庫,并以gzip壓縮方式存儲,文件名為name20080101.gz的形式。
3、為腳本添加執(zhí)行權(quán)限
#chmod +x autobackup
4、讓crontab來完成定期執(zhí)行的任務(wù)
這一步中,Redhat的方法會不一樣,后面專門給出。
編輯crontab:
#vi /etc/crontab
或者: crontab -e 輸入下面的一行
在最后一行中加入:
01 5 * * * /www/autobackup.sh
每天5點(diǎn)運(yùn)行腳本,也可以修改5為其他指定時(shí)間。
Redhat方法:
Redhat的crontab采用按時(shí)間調(diào)用4個(gè)目錄(/etc/cron.hourly:每小時(shí);/etc/cron.daily:每天;/etc/cron.weekly:每周;/etc/cron.monthly:每月)中腳本出來運(yùn)行的方式。
Redhat中只需要將剛才編輯的腳本復(fù)制到相應(yīng)的目錄即可。
5、重啟crontab
#/etc/rc.d/init.d/crond restart
完成