Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash rsync包含/排除特定文件类型_Bash_Cron_Backup_Rsync - Fatal编程技术网

Bash rsync包含/排除特定文件类型

Bash rsync包含/排除特定文件类型,bash,cron,backup,rsync,Bash,Cron,Backup,Rsync,我有个问题。我试图使用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/ -

我有个问题。我试图使用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文件都被rsynced,但是当我运行这个命令时,不仅.php文件被压缩,还有.jpg、.csv等等

我怎样才能做到这一点呢?

--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/