RTFM.WIKI

Ordnung muß sein. Ordnung über alles (18+)

Инструменты пользователя

Инструменты сайта


linux:rc_local

rc.local в Ubuntu 18 и CentOS 7

Для автозапуска скрипта/программы правильней создать systemd unit файл. Многие ещё сидят на ядре 2.6, так что пока рано говорить о таких прогрессивных возможностях systemd. Решил записать инструкцию по rc.local для членов консервативной партии Linux, которую я благополучно покинул. rc.local жив в 2019 году. Всё это сделано для обратной совместимости.

Прекратите использовать rc.local, его время прошло!

Ubuntu

В Ubuntu нет файла /etc/rc.local

# file /etc/rc.local
/etc/rc.local: cannot open `/etc/rc.local' (No such file or directory)

Для упрощения тестирования я возьму пример с командой **date** с сайта RedHat

Тестовый файл /etc/rc.local

#!/bin/bash
echo `date +%F" "%T` "rc.local works!" >> /home/dx/rc.local-test.log
exit 0

Заметка для гиков #1 - какие кавычки надо использовать

Results may vary (крутяцкий альбом Бизкитов кстати) если вы ошиблись с кавычками.

Заметка для гиков #2 - к правильно называется #! в скрипте

Теперь нужно сделать файл исполняемым

chmod +x /etc/rc.local

Заметка для гиков #3 - в чем разница между chmod +x и chmod 755?

Активируем rc.local в systemd

# systemctl enable rc-local
# systemctl start rc-local

В моем примере просто выводится дата/время и записывается в файл rc.local.test

# cat rc.local-test.log     
2019-12-20 02:01:18 rc.local works!
2019-12-20 02:01:42 rc.local works!

Значит всё работает.

CentOS

В CentOS /etc/rc.local это симлинк на /etc/rc.d/rc.local

На моем тестовом VPS сервис rc-local был включен по-умолчанию, а файл rc.local был исполняемым.

Если у вас не так, то

# chmod +x /etc/rc.local
# systemctl enable rc-local
# systemctl start rc-local

crontab

Кроме rc.local есть еще один простой вариант запуска скриптов/команд при загрузке ОС через crontab

# crontab -e

Выполняем скрипт через 60 секунд после ребута системы

@reboot ( sleep 60 ; sh /home/dx/super_script.sh )

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
 
linux/rc_local.txt · Последнее изменение: 2019/12/20 14:51 — 127.0.0.1