linux關鍵檔案自動備份

2021-10-04 13:23:37 字數 1785 閱讀 2613

由於程式經常要更新,每隔一段時間都要手工備份所有程式和ip路由等資訊,手工操作較為繁瑣,根據此情況編寫了自動化的備份指令碼並寫明操作方式,希望可以為大家以後運維提供方便。

首先我們要確定需要備份的內容都有哪些。在這些程式中日誌對我們無用備份是要剔除,相關的抓包檔案(.pcap檔案)剔除,txt的說明文件剔除。

linux系統

如果使用單獨的備份工具則無法根據需要剔除無用的檔案,並且還需要安裝元件,較為複雜不便於使用,故此建議使用各個版本系統通用的tar命令來進行備份。

具體命令如下:

tar -czvf /backup/210.32.1.102_`date +\%y-\%m-\%d_\%h_\%m`.tar.gz /home/sgw --exclude log --exclude *.log.* --exclude *.pcap* --exclude sip_log --exclude *.txt*

tar命令的czvf引數在此不做解釋,整體命令說明:將/home/sgw目錄下的內容備份到/backup下,備份檔案命名為ip_日期.tar.gz,--exclude為需要剔除的關鍵字。

配合crontab可以做定時備份:

* 3 * * * tar -czvf /backup/210.32.1.102_`date +\%y-\%m-\%d_\%h_\%m`.tar.gz /home/sgw --exclude log --exclude *.log.* --exclude *.pcap* --exclude sip_log --exclude *.txt*

windows系統

win系統可用如下命令進行備份,注意如此備份只是單純的複製不是壓縮或打包。

xcopy /e /c /k /exclude:e:\backup.txt d:\tnits z:\

/e複製目錄和子目錄,包括空目錄,/c即使有錯誤,也繼續複製,/k複製屬性。/exclude:file1[+file2][+file3]...指定含有字串的檔案列表。每個字串在檔案中應位於單獨的一行。如果任何字串與複製檔案的絕對路徑的任何部分相符,則排除複製該檔案。例如,指定如 \obj\ 或 .obj 的字串會分別排除目錄obj 下面的所有檔案或帶有 .obj 副檔名的所有檔案。

需要注意的是/exclude這個引數在使用的時候只能指定乙個檔案,而不可以把需要剔除的檔名稱寫到後面,所以需要單獨建立乙個txt來存放要剔除的檔名,而且要注意在這個檔案中每個名字要單獨一行。

建議剔除項為:

log.log

.txt

將以上命令寫成bat檔案,然後用計畫任務定製執行即可。

關於備份檔案的存放

由於如此是備份到本機上,如果裝置出問題則會有備份檔案無法訪問的問題,故此建議採用遠端備份方式將備份檔案直接寫入其他裝置的共享目錄中。方法如下:

在其他win主機上共享乙個目錄backup,然後在其下建立new和old兩個目錄,new用來接收每日的新備份檔案,old用來存放歷史備份檔案。

檔案的自動備份

define crt secure no warnings include include define strlen 255 int main char ch 0 讀取.txt中的檔案到.bak中 while ch getc fp1 eof 在.bak檔案中輸入。while ch getchar ...

Linux自動備份檔案(linux計畫任務)

今天有人讓我給寫個指令碼,說是讓linux定時備份資料和資料,每次備份的資料檔名不一樣,並刪除超過一定時期的資料,這個聽起來挺有意思的,具體看下面吧 1,寫乙個指令碼backup.sh內容如下 bin sh cp r home data tmp backup bak 資料存在data目錄下,備份到b...

LINUX 自動備份指令碼

bin sh export oracle base soft ora9 export oracle home soft ora9 product 9.2 export path oracle home bin oracle home apache apache bin path export ora...