Bash备份脚本。需要帮助查找文件并阅读它

时间:2014-01-09 09:21:34

标签: linux bash backup

我的第一次尝试写一个bash脚本,所以我有点不好意思。

我需要帮助在主目录中查找文件(此文件包含我要备份的文件列表)。在此之后,我想循环文件中的所有行并制作文件的副本。

这是我尝试的但它似乎不起作用:

find /home$n -name .file_with_backup_register | while read line ;
do cp "$line" /var/backup/temp;
done

当我试图在tar-czvf $(date +%m_%d_%Y)的脚本中进行tar备份时,获取:

tar: Cowardly refusing to create an empty archive.

所以我猜测它的发现/家庭$ n ...行是否正常工作

2 个答案:

答案 0 :(得分:0)

你可以用这个:

$ find $HOME -name file_with_backup_register | xargs cat | xargs -I % cp % /var/backup/temp

如果您不确定find是否能成功找到您的注册文件,只需调用:

$ find $HOME -name file_with_backup_register

并查看是否输出其有效位置。

编辑在你的问题下看@ Barmar的评论,他可能是对的。尽管如此,上述答案也很有用,因为它简化了您的解决方案。

答案 1 :(得分:0)

如果对“tar”使用“-T”选项,则可以指定包含要备份的文件名称的文件名。

tar -cv -T filelist -f tarball.tar