기록 로그를 올바르게 설정하는 방법은 무엇입니까?

기록 로그를 올바르게 설정하는 방법은 무엇입니까?

일반 user.bashrc(debian8)에는 두 줄이 있습니다.

cat /home/debian8/.bashrc

export HISTTIMEFORMAT="%F %T   `tty` "
export PROMPT_COMMAND="history -w"

처음으로 debian8 사용자로 로그인하고 를 입력하세요 tty pwd. 닫지 마세요. 여기에 이미지 설명을 입력하세요.

두 번째로 사용자 debian8로 로그인하고 를 입력합니다 tty ls. 여기에 이미지 설명을 입력하세요.

이제 컴퓨터를 다시 시작하고 기록 명령을 사용하여 로그 정보를 가져옵니다.
내가 얻는 것은 다음과 같습니다.

debian8@hwy:~$ history
    1  2017-03-02 22:48:25   /dev/pts/0 tty
    2  2017-03-02 22:48:28   /dev/pts/0 pwd
    3  2017-03-02 22:48:38   /dev/pts/0 tty
    4  2017-03-02 22:48:40   /dev/pts/0 ls
    5  2017-03-02 22:48:38   /dev/pts/0 tty
    6  2017-03-02 22:48:40   /dev/pts/0 ls
    7  2017-03-02 22:48:25   /dev/pts/0 tty
    8  2017-03-02 22:48:28   /dev/pts/0 pwd
    9  2017-03-02 22:48:55   /dev/pts/0 history

왜 다음 정보를 얻을 수 없나요? 다음 로그 정보를 얻는 방법은 무엇입니까?

debian8@hwy:~$ history
    1  2017-03-02 22:48:25   /dev/pts/0 tty
    2  2017-03-02 22:48:28   /dev/pts/0 pwd
    3  2017-03-02 22:48:38   /dev/pts/1 tty
    4  2017-03-02 22:48:40   /dev/pts/1 ls
    5  2017-03-02 22:48:55   /dev/pts/0 history

다음에서 변경됨

export HISTTIMEFORMAT="%F %T   `tty` "
export PROMPT_COMMAND="history -w"

입력하다

export HISTTIMEFORMAT="%F %T   `tty` "
export PROMPT_COMMAND="history -a"

아니요'%F%T tty'.

내가 얻는 것은

debian8@hwy:~$ history
    1  2017-03-02 22:48:25   /dev/pts/0 tty
    2  2017-03-02 22:48:28   /dev/pts/0 pwd
    3  2017-03-02 22:48:38   /dev/pts/0 tty
    4  2017-03-02 22:48:40   /dev/pts/0 ls
    5  2017-03-02 22:48:55   /dev/pts/0 history

다음 정보를 얻을 수 있는 방법이 있나요?

debian8@hwy:~$ history
    1  2017-03-02 22:48:25   /dev/pts/0 tty
    2  2017-03-02 22:48:28   /dev/pts/0 pwd
    3  2017-03-02 22:48:38   /dev/pts/1 tty
    4  2017-03-02 22:48:40   /dev/pts/1 ls
    5  2017-03-02 22:48:55   /dev/pts/0 history

답변1

내 솔루션은 실용적입니다해결책PROMPT_COMMAND환경 변수를 설정하거나 ~/.bash_profile추가 ~/.bashrc로그를 생성합니다.

파일은 ~/.bash_history다음과 같이 타임스탬프와 명령만 유지합니다.

#1488631365
ls -lah
#1488631367
history
#1488631380
cat ~/.bash_history

환경 변수는 올바른 방식 HISTTIMEFORMAT으로 설정됩니다 .#1488631380번역/표시.


다음은 오늘의 로그 파일을 생성합니다 -~/bash-history-2017-03-04.log

export PROMPT_COMMAND='echo -e "$(tty)\t$(history 1)" >> ~/bash-history-$(date "+%Y-%m-%d").log' 

HISTTIMEFORMAT출력 예( 설정 방법 에 따라 다름 )

/dev/pts/1        541  [04/03 14:02:37] tty
/dev/pts/1        542  [04/03 14:02:45] echo "hi from tty1"
/dev/pts/0        523  [04/03 13:55:07] cat ~/.bash_history
/dev/pts/0        524  [04/03 14:02:53] tty
/dev/pts/0        525  [04/03 14:02:58] echo "hi from tty 0"

관련 정보