我需要在执行linux用户每天全天发出的命令时,及时列出所有命令的列表。
为此我创建了一个shell脚本,其中我使用了history命令并在crontab中进行了调度。 但它没有给出任何结果。
任何人都可以帮我吗?还建议是否有其他更好的方法来使用代码。
提前致谢。
#!/bin/bash
dt1=$(TZ=GMT+18:30: date +%d/%m/%y)
dt=$(TZ=GMT+18:30: date +%d-%m-%y)
mkdir /tmp/comm_hist/$dt
chmod 777 /tmp/comm_hist/$dt
for user in `cat /etc/passwd | grep "bash" | cut -d":" -f1`
do
su - $user <<EOF
HISTFILE=~/.bash_history
set -o history
#history | grep "$dt1" > /tmp/comm_hist/$dt/$user.txt
history > /tmp/comm_hist/$dt/$user.txt
EOF
done