man sshd
отвечает на все ваши вопросы:
ПРОЦЕСС ВХОДА
Когда пользователь успешно входит в систему, sshd выполняет следующие действия:
{ {1}}
[...]
Запускает оболочку или команду пользователя. Все команды выполняются под оболочкой входа пользователя, как указано в базе данных системных паролей.
Конечно, это просто сделать с помощью правил исключения. Чтобы исключить каталог и все его содержимое, просто исключите сам каталог, он даже не будет пройден. Чтобы включить каталог somedir
, но не его содержимое, т.е. передать пустой каталог, исключите somedir / *
. Когда предложение exclude начинается с /
, это путь от корня каталога, который вы синхронизируете.
rsync -a --exclude='/version/photofolder/*' --exclude='anotherfolderwithstupidname/*' htdocs/ elsewhere/
Если вы хотите включить все подкаталоги … / version
, но не файлы, не являющиеся каталогами, в … / version
, а не содержимое подкаталогов:
rsync -a --include='/version/*/' --exclude='/version/*' htdocs/ elsewhere/
Если хотите для включения всех подкаталогов … / version
и их содержимого, но не файлов, не являющихся каталогами, в … / version
:
rsync -a --include='/version/*/' --include='/version/*/*' --exclude='/version/*' htdocs/ elsewhere/
Новая командная строка, которая создает --включаемые каталоги и копирует их содержимое и/или файлы, но ТОЛЬКО НА 2 КАТАЛОГА В ГЛУБИНУ. Почему?
rsync -avid --progress ~/MyDocuments/'Inet Publishing'/ --recursive --include='LandisTwo (2019)' --include='LandisTwo (2020) {backup}' --include='*.*' --exclude='**/' e6420:/home/landis/Media/2TBackup/Backups/MyDocuments/"Inet\ Publishing"/ | tee -a ~/logs/Backup-InetPublishing_2020.txt
это работает для меня, с рабочей станции на сервер, резервное копирование (rysnc )моего личного сайта на другой сервер в дополнение ко всему каталогу со всеми сайтами при rysnc'ing parent../Inet\ Publishing («n» в -avin означает «Сухой -Run», удалить. ).
--исключить */ — это все остальные каталоги в «Inet Publishing/» и, по-видимому, должно быть после --включить порядок процесса rsync для каждого человека (если до --включить, то все --исключается, и дальнейшие токены не обрабатываются, по крайней мере, так я это прочитал и на практике пробуждаю, когда придумываю это. ).
На самом деле это одна строка одного из моих скриптов, которые я запускаю с помощью cron. *очевидно, хост назначения может быть IP,у меня есть хосты, определенные в /etc/hosts, и пары ключей ssh, поэтому я использую имя хоста.