Linux「自動備份 刪除」MYSQL

2021-07-04 16:40:22 字數 1332 閱讀 7898

linux「自動備份」mysql

1、建立備份檔案夾

#cd /data0/mysql/3306

#makedir backup

2、編寫執行指令碼

#vi autobackup

寫入以下內容:

filename=`date +%y%m%d`

mysql_bin_dir/mysqldump –d dataname -u user -ppassword| gzip > /data0/mysql/3306/backup/mysql$filename.gz

儲存退出

說明:(1)mysql_bin_dir:mysql的bin路徑;

(2)dataname:資料庫名;

(3)user:資料庫使用者名稱;

(4)password:使用者密碼;

(5)mysql:自定義備份檔案字首標識。

如上例,將自動備份mysql資料庫,並以gzip壓縮方式儲存,檔名為mysql20090506.gz的形式。

3、為指令碼新增執行許可權

#chmod +x autobackup

4、讓crontab來完成定期執行的任務

這一步中,redhat的方法會不一樣,後面專門給出。

編輯crontab:

#vi /etc/crontab

在最後一行中加入:

01 4 * * * * /www/autobackup

每天4點執行指令碼,也可以修改4為其他指定時間。

redhat方法:

redhat的crontab採用按時間呼叫4個目錄(/etc/cron.hourly:每小時;/etc/cron.daily:每天; /etc/cron.weekly:每週;/etc/cron.monthly:每月)中指令碼出來執行的方式。

redhat中只需要將剛才編輯的指令碼複製到相應的目錄即可。

5、重啟crontab

#/etc/rc.d/init.d/crond restart

完成#查詢並刪除backup目錄下3天前生成並且檔名中有"."的所有檔案

find /data0/mysql/3306/backup/ -mtime -3 -name "*.*" -exec rm -rf {} \;

ps:-ppassword 中不要有空格,即-p與你的mysql密碼直接相連後面也不要空格。

例:刪除乙個月以前的log,exec有溢位。用xargs

find / -name "*.log" -ctime +30 | xargs rm {}\; 即可。

刪除乙個月之內的log file

find / -name "*.log" -ctime -30 | xargs rm {}\;

linux自動刪除n天前備份

linux計畫任務,自動刪除n天前的舊檔案 linux是乙個很能自動產生檔案的系統,日誌 郵件 備份等。雖然現在硬碟廉價,我們可以有很多硬碟空間供這些檔案浪費,但需求總是多方面的嘛 我就覺得讓系統定時清理一些不需要的檔案很有一種爽快的感覺,嘿嘿 語句寫法 find 對應目錄 mtime 天數 nam...

mysql自動備份和刪除舊備份

1 mysql自動備份指令碼 vi opt scritps db backup.sh bin bash user root password 123456 database1 test db1 database2 test db2 backup dir opt data bankup logfile...

linux中mysql自動備份並刪除5天前的備份

vi usr sbin backmysql.sh 內容如下 db user root db passwd root db name db test the directory for story your backup file.you shall change this dir backup di...