
使用crontab
记录用户操作日志
保存用户的登录日志
#!/bin/sh #PS1="`whoami`@`hostname`:"'[$PWD]' history USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'` if [ "$USER_IP" = "" ]; then USER_IP=`hostname` fi if [ ! -d /tmp/logindb ]; then mkdir /tmp/logindb chmod 777 /tmp/logindb fi if [ ! -d /tmp/logindb/${LOGNAME} ]; then mkdir /tmp/logindb/${LOGNAME} chmod 300 /tmp/logindb/${LOGNAME} fi export HISTSIZE=4096 DT=`date "+%Y-%m-%d_%H:%M:%S"` export HISTFILE="/tmp/logindb/${LOGNAME}/${USER_IP} logindb.$DT" chmod 600 /tmp/logindb/${LOGNAME}/*logindb* 2>/dev/null
添加crontab任务
# 删除6天前的登录日志 0 0 * * 0 find /tmp/logindb -mtime +7 -type f -exec rm -rf {} \;
开启crontab日志
sudo vim /etc/rsyslog.d/50-default.conf cron.* /var/log/cron.log # 将cron前面的注释符去掉 #restart rsyslog sudo /etc/init.d/rsyslog restart