Atualizei minha resposta. Desculpe por não postar o comando final do rsync enquanto eu estava fazendo recados na hora e tive que ir!
(1) Crie um arquivo de texto que contenha os diretórios que você deseja sincronizar a partir do seu dispositivo:
./input_dirs
Conteúdo de ./input_dirs
:
./DCIM
./Pictures
./DCIM/AccessoryCamera
./Downloads
Use o parâmetro --files-from=./input_dirs.txt
para carregar os diretórios em questão no RSYNC
(2) Aproveite o --filter='dir-merge ./filter_file'
param para carregar os filtros de extensão que você deseja. (por exemplo: * .png * .gif * .jpg)
Conteúdo de ./filter_file
:
+ *.png
+ *.jpg
+ *.gif
- /*
(3) Eu apenas executei isso como um teste em um servidor Linux Sandbox e funcionou. Note que os arquivos somente que devem ser copiados são .png , .gif , *. Jpg :
Resultados:
[root@localhost ~]# ls -Fal
total 1012
dr-xr-x---. 4 root root 4096 Jun 5 20:03 ./
dr-xr-xr-x. 26 root root 4096 May 30 15:16 ../
-rw-------. 1 root root 1219 May 30 15:04 anaconda-ks.cfg
-rw-------. 1 root root 7161 Jun 5 19:45 .bash_history
-rw-r--r--. 1 root root 18 Apr 29 2010 .bash_logout
-rw-r--r--. 1 root root 176 Apr 29 2010 .bash_profile
-rw-r--r--. 1 root root 176 Apr 29 2010 .bashrc
-rw-r--r--. 1 root root 100 Apr 29 2010 .cshrc
-rwxr--r--. 1 root root 9565 May 30 20:41 cve.sh*
drwxr-xr-x. 2 root root 4096 Jun 5 20:03 dest/
-rw-r--r--. 1 root root 14704 Dec 27 12:40 epel-release-7-9.noarch.rpm
-rw-r--r--. 1 root root 508 May 30 22:08 file1
-rw-r--r--. 1 root root 508 May 30 22:08 file2
-rw-r--r--. 1 root root 29 Jun 5 20:03 filter_file
-rw-r--r--. 1 root root 3 Jun 5 19:46 input_dirs
-rw-r--r--. 1 root root 28978 May 30 15:04 install.log
-rw-r--r--. 1 root root 7572 May 30 15:01 install.log.syslog
-rw-------. 1 root root 88 Jun 4 17:49 .lesshst
drwxr-----. 3 root root 4096 Jun 4 17:45 .pki/
-rw-r--r--. 1 root root 624068 May 24 04:34 samba-4.4.4-14.el7_3.x86_64.rpm
-rw-r--r--. 1 root root 266168 May 24 04:34 samba-libs-4.4.4-14.el7_3.x86_64.rpm
-rw-r--r--. 1 root root 129 Apr 29 2010 .tcshrc
-rw-r--r--. 1 root root 0 Jun 5 19:55 test.gif
-rw-r--r--. 1 root root 0 Jun 5 19:55 test.jpg
-rw-r--r--. 1 root root 0 Jun 5 19:54 test.png
[root@localhost ~]# rsync -av --dry-run --files-from=./input_dirs --filter='dir-merge ./filter_file' ./ ./dest
%código%
%código%
%código%
building file list ... done
Remova o comando --dry-run para copiar arquivos.