Что бы запустить скрипт разово, существует несколько методов:
- cron
- at
- rc.local
В статье же рассмотрим “экзотический” метод, который описывает создание сервиса для РАЗОВОГО запуска скрипта. Зачем это надо? Я до сих пор не понимаю. Забавно то, что это можно сделать не только в Linux, а и в FreeBSD, Solaris. Для меня понятие сервиса – это то, что висит в памяти и работает. А разовая команда должна выполняться как команда, а не как сервис. Иначе может возникать путаница. Рассмотрим, как можно реализовать это в разных ОС.
Linux
Тут рассмотрим вариант только с systemd. В директиве [Service] присваиваем такие значения:
Type=oneshot
RemainAfterExit=yes
FreeBSD
В стартовом скрипте вместо run_rc_command лучше указать run_rc_script, но так же можно использовать и run_rc_command.
Solaris
В свойствах сервиса указываем метод transient:
startd/duration astring transient