遠程linux服務器mysql數據庫定期備份和刪除


網上已經有部分關於Linux下定期備份mysql的方法,但是很多步驟不夠詳細,不適合新手,自己琢磨了很久,終於搞定了。

1.Linux服務器一般是ssh協議,如果本地也是Linux環境,可以直接通過shell連接,命令:

ssh  -l  root  -p  8080  202.***.***.***

其中root為用戶名,一般為root,8080為端口,202.***.***.***為服務器ip地址;

接下來會提示你輸入密碼,輸入正確后即可進入服務器;

 

2.然后需要創建一個數據庫備份數據存放的文件夾;

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 /mysql/mysqldata_bakeup/ -type f -mtime +7 -exec rm -f {} \;

/mysql/mysqldata_bakeup/為備份數據保存路徑,msql$fn.tar.gz為備份數據根據日期編號的名稱,/mysql/data為服務器數據庫的數據路徑,yourdatabase為你要備份的數據庫名;

注意其中第一句命令不是單引號,而是tab鍵上面的符號,且date前后需要有空格;

第二句命令有兩種方法,第一種直接備份並壓縮數據庫數據源文件,第二種是利用mysql自帶命令mysqldump導出數據庫yourdatabase的sql文件;

第三句是刪除7天前的備份文件,mtime是文件修改時間,如果沒有修改過,則為創建時間;

 

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM