Centos

tar 存檔和校驗和為空

  • September 30, 2022

在 centos 7 上,我試圖對目錄進行歸檔並進行校驗和,但最後文件為空。

localpath=/backup
name=$(date '+%Y-%m-%d')
tar cvzf $localpath/BackUp$name.tgz $localpath/BackUp* | md5sum $localpath/BackUp$name.tgz > $localpath/checksum$name

你能告訴我我做錯了什麼嗎?

管道|用於將左側命令的輸出發送到右側命令的輸入。左側和右側的命令是同時啟動的,只有從左到右的寫入和讀取才能同步管道的兩個部分。

在這種情況下,該tar命令沒有輸出任何md5sum應該讀取的內容,並且md5sum被賦予了要處理的文件名,因此它無論如何都不會讀取其標準輸入流。

您可能想要做的是使用管道,而是md5sumtar命令創建存檔後呼叫。

tar -vz -c -f "$localpath/BackUp$name.tgz" some files
md5sum "$localpath/BackUp$name.tgz" >"$localpath/BackUp$name.md5"

引用自:https://unix.stackexchange.com/questions/719243