【问题标题】:rsync Include/Exclude specific file typersync 包含/排除特定文件类型
【发布时间】:2020-03-22 05:34:51
【问题描述】:

我有问题。我正在尝试使用 rsync 将所有 .php 文件从我的 /var/www 复制到另一台服务器,除了 website1 和 website2,所以我创建了这个命令:

rsync -avz -e 'ssh -p 28' --relative --exclude={'website1.com','website2.com'} --include='*.php' --delete-during --backup --backup-dir=/mnt/usb/shares/me/ubuntu_backup/ --suffix=".""201911261032" /var/www root@myserver.mydomain.nl:/mnt/usb/shares/me/ubuntu/

我想看到所有的 .php 文件都被 rsync 了,但是当我运行这个命令时,不仅 .php 文件被复制,还有 .jpg、.csv 等。

我怎样才能做到这一点?

【问题讨论】:

    标签: bash cron backup rsync


    【解决方案1】:

    --include 真正的意思是“不排除”;一切都是隐含的,所以--include 用于覆盖之前的--exclude

    你想要类似的东西

    options=(
       -avz
       -e 'ssh -p -28'
       --relative
       --exclude '*'           # Don't transfer *anything* ...
       --include '*.php'       # ... except for the .php files ...
       --exclude website1.com  # ... in a directory other than website1.com ...
       --exclude website2.com  # ... or website2.com
       --delete-during
       --backup
       --backup-dir=/mnt/usb/shares/me/ubuntu_backup/
       --suffix=".""201911261032"
    )
    rsync "${options[@]}" \
       /var/www \
       root@myserver.mydomain.nl:/mnt/usb/shares/me/ubuntu/
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-01
      • 2014-01-02
      • 2018-08-29
      • 1970-01-01
      • 2012-04-14
      • 2015-06-11
      • 2019-01-06
      相关资源
      最近更新 更多