Можно ли постоянно запускать inotifywait на сервере Linux без cron или incron?
Я создаю GIT-репо на сервере для этого каталога. Я хочу, чтобы всякий раз, когда в каталог перемещался файл, git push запускает репо и фиксирует. Я попытался incrontab, чтобы выполнить скрипт. Но, похоже, мой сервер не любит incrontab, он каждый раз зависал.
Я могу запустить этот inotifywait на моем терминале. Но как только я закрыл терминал, он перестает смотреть. Итак, есть ли способ непрерывно запускать inotifywait на Linux Server?
Вот мой код для Inotifywait
while inotifywait -re modify,attrib,move,close_write,create,delete,delete_self /path/to/script.sh
do
cd /path/to/dir
git pull
git add .
git commit -m 'updated'
git push
echo "done!"
done
Я действительно хочу использовать только inotify, без вещей cron. Я давно работал над cron и incron, incrontab. Неудачно.
У кого-нибудь есть идеи? Спасибо!
1 ответ
Если управляющий терминал закрыт, дочерние процессы получают сигналы, которые - если они не перехвачены - замыкают их по замыслу.
Если вы хотите, чтобы от этого был защищен дочерний процесс, вы можете запустить его с помощью команды nohup.
Чтобы запустить команду в фоновом режиме, вы применяете (с большинством, если не со всеми оболочками) & в конце.