CentOS Linux自動備份檔案按日期備份

2021-09-23 08:15:17 字數 1155 閱讀 2772

說明:

我這裡要把/data/wwwroot目錄下面的所有檔案備份到/data/backup裡面,並且儲存為wwwrootbak20190520.tar.gz的壓縮檔案(20190520是指備份執行時當天的日期2019-5-20),然後只保留最近30天的備份。

1、建立儲存備份檔案的目錄:/data/backup

cd /data

mkdir backup

2、建立備份指令碼檔案:/data/wwwroot_backup.sh

cd  /data

vim wwwroot_backup.sh

輸入以下內容:

#!/bin/sh

bk_dr=/data/backup    #備份檔案存放路徑

db_dr=/data/wwwroot

days=30                    #days=30代表刪除30天前的備份,即只保留最近30天的備份

linux_user=root           #系統使用者名稱

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

tar zcvf $bk_dr/wwwrootbak$date.tar.gz $db_dr

chown -r $linux_user:$linux_user $bk_dr  #更改備份資料庫檔案的所有者

find $bk_dr -name "wwwrootbak*" -type f -mtime +$days -exec rm {} \;  #刪除30天前的備份檔案(注意:{} \;中間有空格)

3、修改檔案屬性,使其可執行  

chmod +x /data/wwwroot_backup.sh

4、修改/etc/crontab

vi /etc/crontab

在下面新增  

40 1 * * * root /data/wwwroot_backup.sh

表示每天凌晨1點40分執行備份

5、重新啟動crond使設定生效

/bin/systemctl restart crond.service

systemctl enable crond.service #設為開機啟動

/bin/systemctl start crond.service #啟動

設定CentOS Linux系統時間自動同步

生產環境,建議配置ntp 服務。如果是測試伺服器,我們可以通定時指令碼定時更新時間的方式解決問題。一 首先確保時區正確,把當前時區調整為上海就是 8區,想改其他時區也可以去看看 usr share zoneinfo目錄 cp usr share zoneinfo asia shanghai etc ...

mysql 自動備份許可權 Mysql 自動備份

很簡單的乙個自動備份方案 bas 件 backup.sh bin bash dbuser root dbpwd 123456 dbname jam00 delbackpath usr local mysql backup dbname date d 7 days ago y m d sql.gz r...

mysql自動備份開啟 MySQL自動備份

mysql user root 使用者名稱 mysql password password 密碼 mysql host localhost ip mysql port 3306 埠號 mysql charset utf8 編碼方式 backup db arr db name 要備份的資料庫名稱,多個...