MySQL定期備份是一項重要的工作,但人工操作太繁瑣,也難避免有所疏漏,使用下面的方法即可讓系統定期備份資料。
1、建立備份檔案夾
#cd /www
#makedir backup
2、編寫運作腳本
#vi autobackup
寫入以下内容:
filename=`date +%Y%m%d`
mysql_bin_dir/mysqldump –opt dataname -u user -ppassword | gzip > /www/mysqlbackup/name$filename.gz
儲存退出
說明:
(1)mysql_bin_dir:mysql的bin路徑;
(2)dataname:資料庫名;
(3)user:資料庫使用者名;
(4)password:使用者密碼;
(5)name:自定義備份檔案字首辨別。
如上例,将自動備份mysql資料庫,并以gzip壓縮方式存儲,檔案名為name20080101.gz的形式。
3、為腳本添加執行權限
#chmod +x autobackup
4、讓crontab來完成定期執行的任務
這一步中,Redhat的方法會不一樣,後面專門給出。
編輯crontab:
#vi /etc/crontab
在最後一行中加入:
01 5 * * * root /www/autobackup
每天5點運作腳本,也可以修改5為其他指定時間。
Redhat方法:
Redhat的crontab采用按時間調用4個目錄(/etc/cron.hourly:每小時;/etc/cron.daily:每天;/etc/cron.weekly:每周;/etc/cron.monthly:每月)中腳本出來運作的方式。
Redhat中隻需要将剛才編輯的腳本複制到相應的目錄即可。
5、重新開機crontab
#/etc/rc.d/init.d/crond restart
完成。