#bash #automation #file-transfer #kill
Вопрос:
Есть ли какой-либо способ автоматического перезапуска (bash) задания, которое было убито?
Я синхронизирую некоторые файлы, но (из-за конфигурации сервера) через некоторое время процесс завершается, и мне приходится перезапускать его снова (и снова)…
Я думал о чем-то подобном, чтобы увидеть процесс и определить, когда он останавливается…
$ watch -n 1 -t "ps -e | grep rsync"
20237 pts/81 00:03:36 rsync
20238 pts/81 00:00:00 rsync
20240 pts/81 00:03:29 rsync
… но я не знаю, как «перевести» это в конкретную команду или есть ли более простые способы сделать это.
Более того, какой из трех процессов является хорошим? Теоретически, я запускаю только один экземпляр rsync
.
Комментарии:
1. Вы могли бы «подделать» это. Вызывайте свой скрипт с
cron
определенным интервалом. Скажем, каждый час. Первое, что делает ваш скрипт, — это проверяет, запущен ли он уже. Да, выходите. Нет, продолжайте заниматься той работой, которую вы хотите, чтобы она выполняла.