Bash

tar 命令將文件保存在工作目錄而不是指定目錄中

  • October 9, 2020

我正在嘗試通過 tar 命令進行自動備份:

datum=$(date +%F)
buweek=backup_$datum
snap=snapshot_$datum

mkdir /home/user/BackupArchiv/$buweek
tar -czvg /home/user/BackupArchiv/snapshots/$snap -f backupfull /home/user/BackupArchiv/$buweek

由於某種原因,備份文件保存在我的工作目錄中,在我執行的腳本旁邊,而不是給定的目錄中。

編輯:現在創建快照文件

選項 -f 之後的參數是 tar 命令的輸出路徑和文件名 - 引用man tar

Common options:
      -C, --directory=DIR
             change to directory DIR

      -f, --file=ARCHIVE
             use archive file or device ARCHIVE

所以你正確的命令應該是這樣的:

tar -czvg /home/user/BackupArchiv/snapshots/$snap -f /home/user/BackupArchiv/$buweek.tar.gz

或者可能切換路徑,因為不清楚您要備份什麼以及您希望它在哪裡結束 - 我的範例將生成一個文件:

/home/user/BackupArchiv/backup_2020-10-08.tar.gz今天 :)

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