Se você tiver feito tudo como chmod +x /etc/rc.local
, seu comando está em execução, não está sendo registrado em lugar algum que você possa ver.
Exemplo
Este é o meu /etc/rc.local
:
$ cat /etc/rc.local
#!/bin/bash
touch /var/lock/subsys/local
echo "hickory stick"
Aqui eu usei o Bash modificado que registra no syslog que discuti neste outro U & L Q & A intitulado: Enviando o histórico bash para o syslog .
Quando meu sistema inicializa, vejo a seguinte mensagem sendo registrada via Bash:
/var/log/bash-log/127.0.0.1.log:2018-07-24T22:04:24.609094-04:00 centos7 rc.local: hickory stick
Mas não onde mais. Para fazer isso, registre-se no syslog / rsyslog e você pode usar o comando logger
para fazer isso:
$ logger hi
Você pode ver isso em /var/log/messages
ou /var/log/syslog
ou journal -xef
. Aqui estou usando o journald:
$ journalctl -xef
Jul 24 20:23:04 centos7 bash[1629]: HISTORY: PID=1629 UID=0 USER=root CMD=man logger
Jul 24 20:23:24 centos7 bash[1629]: HISTORY: PID=1629 UID=0 USER=root CMD=logger hi
Jul 24 20:23:24 centos7 vagrant[1811]: hi
Você deve ser capaz de usar logger
para capturar a saída de comandos em scripts como:
$ cat /etc/rc.local
#!/bin/bash
touch /var/lock/subsys/local
echo "hickory stick" | logger
Agora, quando reiniciarmos:
$ journalctl -xef
...
Jul 24 20:31:41 centos7 bash[1629]: HISTORY: PID=1629 UID=0 USER=root CMD=journalctl -xe
Jul 24 22:24:00 centos7 logger[1286]: hickory stick
Jul 24 22:24:00 centos7 sshd[1270]: Server listening on 0.0.0.0 port 22.
Jul 24 22:24:00 centos7 sshd[1270]: Server listening on :: port 22.
Jul 24 22:24:00 centos7 systemd[1]: Starting Permit User Sessions...
Nós vemos nossa mensagem por meio de logger
que adicionamos a /etc/rc.local
.
Informação extra
logger
é bastante útil e você pode fazer isso com um arquivo em vez de usar a opção -f
, você também pode controlar a tag que aparece nos registros com a opção -t
.
$ logger -t "smurfs" hi
$ journalctl -xe | grep smurfs
Jul 24 20:38:24 centos7 smurfs[1764]: hi