shell脚本备份指定目录下的文件

shell脚本备份指定目录下的文件
tar -czvf /var/local/mybackup.tar.gz -C /etc/alternatives/

我使用上面提到的代码创建了一个备份文件。但它向我展示了这个错误。

tar: Cowardly refusing to create an empty archive
Try 'tar --help' or 'tar --usage' for more information.

我的代码有什么问题吗?

答案1

tar需要包含在存档中的文件列表。命令

tar -czvf /var/local/mybackup.tar.gz -C /etc/alternatives/ .

将创建一个压缩的 tar 文件,其中包含/etc/alternatives/.

答案2

您不需要使用该-C标志

$ tar czvf /path/of/the/backup/name.tar.gz /path/of/the/files

如果您想备份一堆文件,请使用wildcard.如果您想备份整个目录,请不要以斜线结束行/

文件备份$ tar czvf /path/to/backupdir/files.tar.gz /path/to/files/*

目录备份$ tar czfP /path/to/backupdir/files.tar.gz /path/to/dir

man tar

-P, --absolute-names
   don't strip leading `/'s from file names

答案3

通常 /etc/alternatives 完全由链接填充。尝试使用 tar 的 -h 命令取消引用它们指向的链接并包含实际文件。 (如果这是你的目标,我想也是如此。)

相关内容