rsync,忽略根同步目录隐藏文件

时间:2017-03-25 21:38:14

标签: linux bash shell rsync backups

我正在尝试使用rsync对我的用户进行快照备份,基本用户文件夹有大量隐藏文件和配置,我对备份不感兴趣,但是我对它里面的隐藏文件夹很感兴趣子目录。

这是布局

Source Directory
/Base
    .ignore
    .ignore2
    .ignore3
    /dir1
        .keep
        normalfiles
    /dir2
        .keep
        normalfiles

Desired Backup Directory
/Backup
    /dir1
        .keep
        normalfiles
    /dir2
        .keep
        normalfiles

如何在子目录中保留它们时忽略第一个隐藏文件和目录。

解决方案

rsync -vrn --exclude="/.*" base/ base2/

通过在文件匹配/之前指定/.*,我设法实现了我的目标。我发现这在我家里制作一些mac的快照备份时非常有用。它们倾向于在根文件夹中为我的备份不需要的每个用户存储大量配置信息。

我自己的项目配置和rc的隐藏文件已保存,因为它们未存储在根目录中。

1 个答案:

答案 0 :(得分:1)

我在代码示例中找不到“隐藏文件夹里面的子目录”。你的意思是隐藏文件吗?

这是一个尝试:

rsync -nrv --include="/*/" --include="*/.*" --exclude="*" Base/ Base2/
  

-n模拟   -r递归   -v verbose