Запуск программы с помощью задания cron

Если у вас есть GNU find , возможно, что-то вроде

find path/to/dir -type d -printf '%P\0' | 
  rsync -0av --files-from=- path/to/dir/ path/to/newdir/

сделает то, что вы хотите (проверьте, заменив -0av на -0avn ).

В зависимости от ваших критериев поиска вы можете использовать только rsync с подходящими фильтрами, например для копирования всей структуры каталогов

rsync -avn -f'+ */' -f'- *' path/to/dir/ path/to/newdir/

См., например, Linux: rsync Копировать только дерево структур каталогов

2
14.01.2017, 11:15
1 ответ

Задания Cron на самом деле не подходят для управления настольными приложениями. Вам будет лучше запускать приложение из циклического сценария оболочки; в простейшем виде

#!/bin/sh
cd /home/masoud/Desktop/vision3
while :; do ./vision; done

Таким образом, всякий раз, когда видение останавливается, оно будет запускаться снова.

Вы можете спланировать «стратегию выхода» на тот случай, когда вы действительно хотите остановить программу. Это будет делать:

#!/bin/sh
cd /home/masoud/Desktop/vision3
while [ ! -f no_vision ]; do ./vision; done

Затем, когда вы захотите остановить программу,

touch /home/masoud/Desktop/vision3/no_vision

и закрыть ее - сценарий оболочки тоже остановится.

3
27.01.2020, 22:03

Теги

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