天天看點

遠端linux伺服器mysql資料庫定期備份和删除

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

  其中root為使用者名,一般為root,8080為端口,202.***.***.***為伺服器ip位址;

  接下來會提示你輸入密碼,輸入正确後即可進入伺服器;

  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

最新内容請見作者的github頁:http://qaseven.github.io/