Por que o comando no .bash_logout não pode ser executado após a reinicialização?

1

Os: debian9.
Crie um arquivo de log.

touch $HOME/logout.log

Adicione um comando em .bash_logout.

vim .bash_logout
echo  $(date)  >>  $HOME/logout.log

Agora faça o login com o nome da conta test e crie /home/test/logout.log .

Eu quero escrever informações de data em /home/test/logout.log , por que nenhuma informação de data após a reinicialização?
Nada em /home/test/logout.log após a reinicialização.

    
por scrapy 31.01.2018 / 14:27

2 respostas

3

primeiro

echo $(date) >> $HOME/logout.log

pode ser substituído por

date >> $HOME/logout.log

seguinte,

.bash_logout é executado quando você se desconecta, não quando há uma reinicialização.

  • Um reboot é quando você reinicia o host, efetivamente eliminando (mais ou menos bem) todo o processo, banco de dados, servidor da Web e assim por diante.

  • Um logout é quando você (ou qualquer usuário) se desconecta da sessão interativa, o host permanece ativo, assim como o banco de dados e afins.

Se quiser que o script seja executado durante um desligamento do planejamento, coloque em /etc/init.d e, em seguida, tenha um link como K01-trace-logout em /etc/rcX.d , em que X é seu nível de execução (resultado de who -r ). / p>

finaly

Lembre-se de que o desligamento inesperado (falta de energia, congelamento de E / S de disco) não deixará rastros no arquivo de log.

    
por 31.01.2018 / 14:46
1

Você precisa executar o bash como shell de login. Você precisa fazer o login como usuário e ao efetuar logout do shell de login interativo - o script .bash_logout será executado.

    
por 31.01.2018 / 14:42

Tags