我的第一次尝试写一个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 ...行是否正常工作
答案 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