我想在我的主目录中备份小于100 KB的所有文件,并在备份期间保留文件结构(文件夹树)和时间戳。我怎么能在Linux中实现这一点?非常感谢!
答案 0 :(得分:2)
怎么样:
find /usr/mydir -type f -size -1000 -print0 | tar --null --no-recursion -cjf backup.tar.bz2 --files-from -
这将从/ usr / mydir开始读取最多1000个字节的所有文件,并将这些文件添加到名为" backup.tar.bz2"的新创建的档案中。
查找选项:
-type f:只是文件
-size -1000:小于1000字节(+1000:超过1000字节) -print0:只打印文件名
tar选项:
- null --file-from:从stdin读取名称 --no-recursion:不递归搜索传递的路径 --cjf {file}:create bzip2 archive(c:create,j:bzip2:f:filename)
(使用gnu tar版本,IIRC)
答案 1 :(得分:2)
一个好的策略是使用rsync
。这个小实用程序非常通用,当然,它非常适合备份。此处的关键是,要求仅包含最大大小为100kB的文件,请使用--max-size
选项:
rsync -a --max-size=100kB sourcedir destdir
-a
选项也将保留您的时间戳(并调用递归,复制符号链接,保留权限,组和所有者(如果它具有权限))。阅读手册,您可能会发现它还有其他您绝对需要的选项!