Синхронизировать каталог с другим каталогом

Функция хэшбэга - сообщить ядру , какую программу запускать в качестве интерпретатора сценария при выполнении файла.

Выполнение ./ program делает именно это и требует разрешения на выполнение для файла, но не зависит от типа программы. Это может быть сценарий bash, сценарий sh, Perl, Python, awk или сценарий ожидания, или фактический двоичный исполняемый файл. Запуск программы sh заставит ее запускаться под sh , а не под чем-либо еще.

Обратите внимание, что sh отличается от bash ! Последний имеет ряд дополнительных функций, не известных стандартной оболочке. В зависимости от системы sh может быть другой программой или Bash в режиме совместимости, но результат обычно один и тот же: какие-либо дополнительные функции недоступны.

Bash сам по себе не понимает строку hashbang, но полагается на ядро ​​для ее чтения. С другой стороны, интерпретатор Perl также считывает строку hashbang самостоятельно, независимо от того, как она была запущена: он делает это, чтобы выбрать любые параметры командной строки, установленные в строке hashbang. Баш этого не делает.

Например, следующий сценарий ведет себя по-разному в зависимости от того, запущен ли он как ./ script (через exec и строку hashbang) или со сценарием bash (запуск интерпретатора bash вручную):

#!/bin/bash -u
echo $1
1
07.12.2016, 13:09
2 ответа

Вы можете использовать rsync :

rsync -az /media/shared_folder/devstuff /home/me/devstuff

Итак, все, что вам нужно сделать, это настроить задание cron для запуска этой команды каждые 2 минуты:

*/2 * * * *   /usr/bin/rsync -az /media/shared_folder/devstuff /home/me/devstuff
1
27.01.2020, 23:46

Убедитесь, что вы используете аргумент - delete с rsync , если вы хотите выполнить особую синхронизацию с каталогом. , а не просто копировать туда вещи. Это будет продолжать обновлять файлы в целевом каталоге, чтобы он оставался точной копией источника: если в источнике создается новый файл, он появится в целевом каталоге, если что-то будет удалено в источнике, произойдет то же самое. в пункте назначения. И, конечно, как здесь уже упоминали другие, используйте встроенное программное обеспечение для автоматизации: cron

0
27.01.2020, 23:46

Теги

Похожие вопросы