备份小于100 KB的文件

时间:2014-05-30 15:38:55

标签: linux bash

我想在我的主目录中备份小于100 KB的所有文件,并在备份期间保留文件结构(文件夹树)和时间戳。我怎么能在Linux中实现这一点?非常感谢!

2 个答案:

答案 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选项也将保留您的时间戳(并调用递归,复制符号链接,保留权限,组和所有者(如果它具有权限))。阅读手册,您可能会发现它还有其他您绝对需要的选项!