先來看windows中定時備份方法
方法一 mysqldump備份資料庫
建立一個檔案,如 mysqldump.bat。
將下面代碼 寫入檔案mysqldump.bat
| 代碼如下 |
複製代碼 |
@echo off set file_dir=d:/a rem 備份檔案所在的目錄 set file_name=%date:~0,10%-%time:~0,2%-%time:~3,2%-%time:~6,2% rem 備份檔案名 C:/mysql/bin/mysqldump.exe -u root -p123456 databasename> %file_dir%/%file_name%.sql rem C:/mysql/bin/mysqldump.exe為mysqldump程式所在地址,root為使用者名稱,123456為密碼, databasename為待備份的資料庫名 |
然後將mysqldump.bat加入到任務計劃中即可,設定每天指定時間來運行即可。“屬性”=》“進階”中,還可以設定“重複任務”
方法二,xcopy直接複製檔案夾
1、複製date檔案夾備份
============================
假想環境:
MySQL 安裝位置:C:/MySQL
論壇資料庫名稱為:bbs
Database Backup目的地:C:/db_bak/
============================
建立db_bak.bat,寫入以下代碼
| 代碼如下 |
複製代碼 |
*******************************Code Start***************************** net stop mysql xcopy c:/mysql/data/bbs/*.* c:/db_bak/bbs/%date:~0,10%/ /S /I net start mysql *******************************Code End *****************************
|
linux中定時備份方法
利用Linux的定時計劃功能(Cron)和MySQL的匯出功能(mysqldump)
編輯 /etc/crontab:
| 代碼如下 |
複製代碼 |
vim /etc/crontab |
按順序加入如下兩個語句(帶了注釋):
| 代碼如下 |
複製代碼 |
# remove all old backup files less than 29 days 10 2 1 * * root find /mnt/database/ -name '*.sql.gz' -type f -mtime -29 -mtime +7 -exec rm -f {} ; # automatically backup mysql every day 15 2 * * * root mysqldump -u root -pPASSWORD --all-databases | gzip > /mnt/database/`date +'/%Y-/%m-/%d'`.sql.gz cron中任務計劃的格式為: # m h dom mon dow user command |
即:
第一個數字表示分(minute);
第二個數字表示時(hour);
第三個數字表示天(day of month);
第四個數字表示月(month);
第五個數字表示分(day of week);
以上數字為*時表示不限。
接下來是執行命令的使用者和命令內容。