在系统启动时使用脚本启动 tcpdump

在系统启动时使用脚本启动 tcpdump

我正在尝试在启动时运行一个脚本,该脚本在 Centos 7 和 Centos 6 上运行 tcpdump 命令。目的是在系统启动时启动滚动 pcap。我尝试过使用带有 @reboot 的 cron,但似乎不起作用。

我尝试直接从 cron 运行 tcpdump 命令

@reboot root tcpdump [-options]这有效

我尝试使用 cron 运行脚本

@reboot root /path/to/script并且这对于使用 tcpdump 命令启动跟踪不起作用,尽管当我将脚本更改为创建文件(以验证脚本是否被调用)时这起作用了,所以脚本正在运行,但我尝试运行的滚动 pcap 没有运行。

我尝试使用 nohup 和 setsid 命令运行脚本

@reboot root nohup /path/to/script >/dev/null 2>&1 < /dev/null &

@reboot root setsid /path/to/script >/dev/null 2>&1 < /dev/null &

两者都不起作用,只是从 crontab 正常运行脚本并使用 nohup 和 setsid 在脚本中运行 tcpdump 命令。

我还尝试修改 bash 脚本,以确保在执行 tcpdump 命令之前网络接口已启动,以确保这不是问题所在。

据我所知,没有理由不能通过 cron 在脚本中执行命令,但到目前为止,我尝试过的方法都没有奏效。它不需要通过 cron 来完成(我在 /etc/cron.d/ 中添加了一个 cron 文件),但这似乎是一种好方法,因为命令的参数可能会被程序更改,所以我想将它保存在自己的文件中,以免妨碍。

相关内容