Здесь отличное решение. Решение 1 :Создайте запись @reboot в вашем crontab, чтобы запустить скрипт с именем /usr/local/bin/runonce.
Создайте структуру каталогов с именем /etc/local/runonce.d/ran, используя mkdir -p.
Создайте скрипт /usr/local/bin/runonce следующим образом:
#!/bin/sh
for file in /etc/local/runonce.d/*
do
if [ ! -f "$file" ]
then
continue
fi
"$file"
mv "$file" "/etc/local/runonce.d/ran/$file.$(date +%Y%m%dT%H%M%S)"
logger -t runonce -p local3.info "$file"
done
Теперь поместите любой скрипт, который вы хотите запустить при следующей перезагрузке (только один раз ), в каталог /etc/local/runonce.d и соответствующим образом chown и chmod +x. После запуска вы обнаружите, что он перемещен в подкаталог run, а к его имени добавлены дата и время. В вашем системном журнале также будет запись
Кредит принадлежит Деннису Уильямсу.https://serverfault.com/questions/148341/linux-schedule-command-to-run-once-after-reboot-runonce-equivalent