先來看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
數據庫備份目的地: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);
以上數字為*時表示不限。
接下來是執行命令的用戶和命令內容。