標籤:style blog color ar 檔案 sp 資料 div art
網上已經有部分關於Linux下定期備份mysql的方法,但是很多步驟不夠詳細,不適合新手,自己琢磨了很久,終於搞定了。
1.Linux伺服器一般是ssh協議,如果本地也是Linux環境,可以直接通過shell串連,命令:
ssh -l root -p 8080 202.***.***.***
其中root為使用者名稱,一般為root,8080為連接埠,202.***.***.***為伺服器ip地址;
接下來會提示你輸入密碼,輸入正確後即可進入伺服器;
2.然後需要建立一個Database Backup資料存放的檔案夾;
mkdir /mysql/mysqldata_bakeup
/mysql/mysqldata_bakeup為建立的路徑,可以自訂;
3.建立並編輯檔案在路徑 /usr/sbin/bakmysql,命令:
vi /usr/sbin/bakmysql
此時會在/usr/sbin/路徑下建立bakmysql檔案,並進入bakmysql編輯狀態,接著輸入;
fn = ` date +%Y%m%d ` tar zcvf /mysql/mysqldata_bakeup/mysql$fn.tar.gz /mysql/data或 mysqldump -u root -ppassword /mysql/data/yourdatabase > /mysql/mysqldata_bakeup/mysql$fn.sql
find $fn -name "mysql*.tar.gz" -type f -mtime +7 -exec fm{}; > /dev/null 2>&1
或
find $fn -name "mysql*.sql" -type f -mtime +7 -exec fm{}; > /dev/null 2>&1
/mysql/mysqldata_bakeup/為備份資料儲存路徑,msql$fn.tar.gz為備份資料根據日期編號的名稱,/mysql/data為伺服器資料庫的資料路徑,yourdatabase為你要備份的資料庫名;
注意其中第一句命令不是單引號,而是tab鍵上面的符號,且date前後需要有空格;
第二句命令有兩種方法,第一種直接備份並壓縮資料庫資料來源檔案,第二種是利用mysql內建命令mysqldump匯出資料庫yourdatabase的sql檔案;
第三句是刪除7天前的備份檔案,檔案名稱寫法對應第二句。
4.修改檔案bakmysql屬性,使其可執行;
chmod +x /usr/sbin/bakmysql
5.修改/etc/crontab:
vi /etc/crontab
進入編輯狀態,在最下面添加:
01 3 * * * root /usr/sbin/bakmysql
01 3 是每天淩晨3:01執行 bakmysql檔案;
6.關於重啟有時候並不需要,如果伺服器在/etc/rc.d/init.d/路徑下有crond服務,可以選擇重啟crond,命令:
/etc/rc.d/init.d/crond restart
7.最後退出伺服器命令:exit
遠程linux伺服器mysql資料庫定期備份和刪除