欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux下自動刪除過期備份和自動異地備份的腳本

 更新時間:2022年09月10日 08:13:33   作者:youngq  
這篇文章主要介紹了Linux下自動刪除過期備份和自動異地備份,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

每天自動刪除過期備份

首先編寫一個簡單的Shell腳本DeleteExpireBackup.sh

#!/bin/bash

# 修改需要刪除的路徑
location="/database/backup/"

# 刪除最后修改時間為30天以前的備份文件夾
find $location -mtime +30 -type d | xargs rm -rf {} 
  • -mtime:文件內(nèi)容最后一次修改的時間,+30 代表大于30天的。其他參數(shù)可選:
  • 訪問時間戳(atime):最后一次讀取文件的時間。
  • 更改時間戳 (ctime):上次更改文件元數(shù)據(jù)的時間,例如其所有權(quán)、位置、文件類型和權(quán)限設(shè)置。
  • -type代表文件類型,f代表文件,d代表目錄,l代表軟鏈接文件

腳本編寫并保存后會發(fā)現(xiàn)無法執(zhí)行,因為需要設(shè)置文件權(quán)限,切換到腳本保存的當(dāng)前目錄,執(zhí)行下面的命令:

chmod a+x DeleteExpireBackup.sh

腳本準(zhǔn)備完畢,然后就是設(shè)置自動執(zhí)行時間

我這里偷懶了,直接用的寶塔設(shè)置的,其實本質(zhì)是一樣的,都是用的crontab定時執(zhí)行,不懂的同學(xué)自行g(shù)oogle。

寶塔設(shè)置如下:

設(shè)置完成后,點擊添加任務(wù),自動刪除備份就完成了。

有時候執(zhí)行腳本會出現(xiàn)以下錯誤:
/bin/bash^M: 壞的解釋器: 文本文件忙

出現(xiàn)這個錯誤,多半是Windows下編寫的腳本,編寫完畢后傳到服務(wù)器上執(zhí)行。

因為Windows系統(tǒng)下?lián)Q行符為\r\n,linux下?lián)Q行符為\n,因此在windows下編寫的文件會比linux下多一個回車符號\r。去掉多余的\r 回車符即可。

操作辦法:可以用sed命令進行全局替換 sed 's/\r//' -i 腳本名稱.sh

每天定時異地備份

其余操作和定時刪除大同小異,所以這里我只展示腳本內(nèi)容:

#!/usr/bin/expect -f
# 獲取當(dāng)前日期 例如:20220101
set date [ clock format [ clock seconds ] -format "%Y%m%d" ] 
# 傳輸用戶名
set username 用戶名
# 密碼
set password 密碼
#  expect默認timeout為30S  超過30s未傳輸完會停止,設(shè)置為 -1 則不限制超時時間
set timeout -1

#                  壓縮  端口  遞歸 需要傳輸?shù)谋镜亟^對路徑              用戶名     目標(biāo)IP       目標(biāo)服務(wù)器路徑
 spawn  /usr/bin/scp -C -P 22 -r /database/backup/$date/ $username@192.168.2.2:/database/backup/

expect  {
"*yes/no" {send "yes\r";exp_continue}
"*password:" {send "$password\r"}
}

expect eof

腳本是使用 scp 從一個Linux傳送至另一臺Linux服務(wù)器來完成異地備份的。

到此這篇關(guān)于Linux下自動刪除過期備份和自動異地備份的文章就介紹到這了,更多相關(guān)Linux刪除過期備份內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論