![tar命令将文件保存在工作目录而不是指定目录中](https://linux22.com/image/181385/tar%E5%91%BD%E4%BB%A4%E5%B0%86%E6%96%87%E4%BB%B6%E4%BF%9D%E5%AD%98%E5%9C%A8%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%E8%80%8C%E4%B8%8D%E6%98%AF%E6%8C%87%E5%AE%9A%E7%9B%AE%E5%BD%95%E4%B8%AD.png)
我正在尝试通过 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
由于某种原因,备份文件保存在我的工作目录中,靠近我执行的脚本,而不是给定的目录。
编辑:现在创建快照文件
答案1
选项 -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
今天 :)