커맨드 히스토리 파일에 저장하는 설정 예시

Command history save to file Setting

 

 

 

 

1. Centos 7, Centos 8

아래 커맨드들 입력을 통해 cmd_logging.sh 파일 작성 및 /etc/rsyslog.conf 설정 변경이 가능합니다.

echo 'function logging'  >> /etc/profile.d/cmd_logging.sh
echo '{'  >> /etc/profile.d/cmd_logging.sh
echo '        stat="$?"'  >> /etc/profile.d/cmd_logging.sh
echo '        cmd=$(history|tail -1)'  >> /etc/profile.d/cmd_logging.sh
echo '        if [ "$cmd" != "$cmd_old" ]; then'  >> /etc/profile.d/cmd_logging.sh
echo '                logger -p local1.notice "[2] STAT=$stat"'  >> /etc/profile.d/cmd_logging.sh
echo '                logger -p local1.notice "[1] PID=$$, PWD=$PWD, CMD=$cmd"'  >> /etc/profile.d/cmd_logging.sh
echo '        fi'  >> /etc/profile.d/cmd_logging.sh
echo '        cmd_old=$cmd'  >> /etc/profile.d/cmd_logging.sh
echo '}'  >> /etc/profile.d/cmd_logging.sh
echo 'trap logging DEBUG'  >> /etc/profile.d/cmd_logging.sh
echo 'local1.*                                                /var/log/cmd.log'  >> /etc/rsyslog.conf
sed -i "s/cron.none/cron.none;local1.none/g" /etc/rsyslog.conf
systemctl restart rsyslog

아래와 rsyslog 데몬 재시작 부분만 다릅니다.

 

 

 

2. Centos 6

아래 커맨드들 입력을 통해 cmd_logging.sh 파일 작성 및 /etc/rsyslog.conf 설정 변경이 가능합니다.

echo 'function logging'  >> /etc/profile.d/cmd_logging.sh
echo '{'  >> /etc/profile.d/cmd_logging.sh
echo '        stat="$?"'  >> /etc/profile.d/cmd_logging.sh
echo '        cmd=$(history|tail -1)'  >> /etc/profile.d/cmd_logging.sh
echo '        if [ "$cmd" != "$cmd_old" ]; then'  >> /etc/profile.d/cmd_logging.sh
echo '                logger -p local1.notice "[2] STAT=$stat"'  >> /etc/profile.d/cmd_logging.sh
echo '                logger -p local1.notice "[1] PID=$$, PWD=$PWD, CMD=$cmd"'  >> /etc/profile.d/cmd_logging.sh
echo '        fi'  >> /etc/profile.d/cmd_logging.sh
echo '        cmd_old=$cmd'  >> /etc/profile.d/cmd_logging.sh
echo '}'  >> /etc/profile.d/cmd_logging.sh
echo 'trap logging DEBUG'  >> /etc/profile.d/cmd_logging.sh
echo 'local1.*                                                /var/log/cmd.log'  >> /etc/rsyslog.conf
sed -i "s/cron.none/cron.none;local1.none/g" /etc/rsyslog.conf
/etc/init.d/rsyslog restart

위와 rsyslog 데몬 재시작 부분만 다릅니다.

 

 

 

 

+ Recent posts