Cod*_*ner 4 linux unix bash cron
我有以下shell脚本
$cat capture.sh
TIME=$(date +"%H-%M-%d-%m-%y")
IP="203.208.198.29"
PREFIX=$TIME$IP
tshark -f "udp" -i eth0 -w /root/captures/$PREFIX.cap&
pid=$!
sleep 2m
kill $pid
Run Code Online (Sandbox Code Playgroud)
当我从 shell 执行它时它运行良好。
但是当我将它添加到 cron 选项卡时,什么也没有发生。
我的 crontab 条目:1 */2 * 2 3,4,5 sh /root/capture.sh
tail /var/log/cron
Run Code Online (Sandbox Code Playgroud)
显示命令已执行。
但什么也没有发生。我已经为 capture.sh 设置了“all”的可执行权限,并为 /root/captures 目录设置了“all”的写权限。
提前致谢
Pau*_*ock 30
您的PATH
变量可能不是您期望它在 cron 中的内容。
使用脚本中每个可执行文件的完整路径,或在 crontab 或脚本中手动设置路径。
此外,停止您的更好方法tshark
是使用内置功能:
-a <capture autostop condition>
duration:value Stop writing to a capture file after value seconds
have elapsed.
Run Code Online (Sandbox Code Playgroud)
也#2:添加一个shebang行(#!
)
归档时间: |
|
查看次数: |
2545 次 |
最近记录: |