( 1)Создайте текстовый файл, содержащий каталоги, которые вы хотите синхронизировать с вашего устройства:
./input_dirs
Содержание./input_dirs
:
./DCIM
./Pictures
./DCIM/AccessoryCamera
./Downloads
Используйте параметр --files-from=./input_dirs.txt
для загрузки соответствующих каталогов в RSYNC
(2)Используйте параметр --filter='dir-merge./filter_file'
для загрузки необходимых дополнительных фильтров. (например:*.png *.gif *.jpg)
Содержание./filter_file
:
+ *.png
+ *.jpg
+ *.gif
- /*
(3)Я только что запустил это в качестве теста на сервере Linux Sandbox, и это сработало. Обратите внимание, что должны быть скопированы только файлы :.png , .gif ,*.jpg:
Результаты:
[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
building file list... done
./
test.gif
test.jpg
test.png
sent 92 bytes received 24 bytes 232.00 bytes/sec
total size is 0 speedup is 0.00 (DRY RUN)
Удалите --пробный -запуск для фактического копирования файлов.
Я не думаю, что здесь есть более твердое соглашение, чем «вероятно, это связано с Git».
Поиск пакетов Debian, содержащих совпадения , выдает файлы, для которых я могу наблюдать следующие грубые закономерности;
git
; вы ожидаете найти аналогичные модули с суффиксами вроде -svn
, -hg
или -cvs
для других систем контроля версий; xcb-imdkit-git
является примером этого; В Arch довольно часто можно увидеть пакеты AUR выпусков проекта рядом с пакетами обычных снимков того же проекта. Эти пакеты моментальных снимков обычно имеют суффикс -git
(, по крайней мере, когда они включают снимки репозитория git ). В некоторых случаях, обычно когда проект не публикует релизы, нет соответствующего пакета, отличного от --git
.
xcd-imdkit-git
является экземпляром этого шаблона, :он упаковывает моментальные снимки репозитория git проекта, который не имеет официального выпуска .