Автоматически перезапустить убитое задание [bash]

#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 определенным интервалом. Скажем, каждый час. Первое, что делает ваш скрипт, — это проверяет, запущен ли он уже. Да, выходите. Нет, продолжайте заниматься той работой, которую вы хотите, чтобы она выполняла.