我试图找出什么脚本/用户/进程正在写入文件。 我有 4 个主机安装了相同的 NFS 我制作了一个脚本并将其放在所有主机上但没有成功 有人可以帮忙吗 该脚本从 5:50 运行到 6:10,这是我的文件被写入的时间段 这是我制作的脚本:
#!/bin/sh
log=~/file-access.log
check_time_to_run() {
tempTime=$1
if [ $tempTime -gt 555 -a $tempTime -lt 610 ]; then
#Intre intervalul 5:55 si 6:10
lsof /cdpool/Xprint/Liste_Drucker >> $log
else
#In afara intervalului
exit 1
fi
}
while true; do
currTime=`date +%k%M`
check_time_to_run $currTime
sleep 0.1s
done
最佳答案
根本不要为此使用 shell 脚本。相反,安装 sysdig ,然后运行:
sysdig 'fd.filename=/cdpool/Xprint/Liste_Drucker'
...保持打开状态,每当有任何内容写入该文件或从该文件读取时,都会打印相应的日志消息。
<小时/>如果您想将作业打印的用户名和进程名称(带参数)打印到文件中,则可以使用以下格式字符串:
sysdig \
-p '%user.name %proc.name - %evt.dir %evt.type %evt.args' \
'fd.filename=/cdpool/Xprint/Liste_Drucker'
关于linux - 什么脚本/用户/进程正在写入文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27788234/