Для того, чтобы ваш скрипт работал только один раз за загрузку, вы можете сделать одно из следующих действий:
- предполагая, что у вас есть cron: Создать задание cron со спецификацией времени
@reboot
(проверить man 5 crontab
), чтобы запустить ваш скрипт. Затем скрипт должен подождать устройств или соединения, и все такое само по себе.
- предполагая, что вы запустите скрипт каким-то другим способом: Ваш скрипт может создать пустой файл в месте, которое будет удалено при перезагрузке. Может подойти какой-нибудь временный каталог. Вы должны проверить, что файл маркера будет удален только (но всегда) при перезагрузке. Вы также можете создать скрипт контрчастей, который будет выполняться при выключении, и который удалит файл снова. Проблема заключается в том, что второй скрипт может не выполниться в некоторых условиях ошибки (жесткий сброс). Ваш скрипт может затем проверить, существует ли файл, и выйти раньше, если он уже запущен.
27.01.2020, 22:12
Ссылка