Os: debian9.
Crie um arquivo de registro.
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.
primeiro
pode ser substituído por
próximo,
.bash_logout
é executado quando você desconecta, não quando há uma reinicialização.Uma reinicialização é quando você reinicia o host, efetivamente matando (mais ou menos bem) todo o processo, banco de dados, servidor 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 similares.
Se você deseja que o script seja executado durante um desligamento programado, coloque-o em
/etc/init.d
, em seguida, tenha um link comoK01-trace-logout
em/etc/rcX.d
onde X é seu nível de execução (resultado dewho -r
).finalmente
Esteja ciente de que o desligamento inesperado (queda de energia, congelamento de E/S de disco) não deixará rastros no arquivo de log.
Você precisa executar o bash como shell de login. Você precisa fazer o login como usuário e, ao sair do shell de login interativo, o script .bash_logout será executado.