- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我编写了以下 systemd 服务 tcpdumpd.service
来启动持久的 tcpdump 记录。
[Unit]
Description=TCPDumpd
After=multi-user.target network.target
[Service]
Type=simple
ExecStart=/usr/sbin/tcpdump -pni eth0 -s65535 -G 3600 -w '/var/log/tcpdump/trace_%Y-%m-%d_%H:%M:%S.pcap' -z gzip
Restart=on-abort
[Install]
WantedBy=multi-user.target
tcpdump 允许使用 strftime 占位符,例如 %H 表示小时、%M 表示分钟等,以便您创建带有时间戳的文件。
但是,systemd 有可以在其中使用的特殊说明符,例如 (%n, %N, %p, %i, %U, %u, %m, %H, %b, %v) 所以任何重叠的说明符(例如 %m 和 %H)传递来自 systemd 的信息,并且不允许将占位符传递到 tcpdump 来制作时间戳。
有谁知道是否有办法转义 systemd 中的说明符,以便我可以将 %m 和 %H 传递给 tcpdump?
最佳答案
我尝试转义特殊说明符,例如 %%m
、\%m
,但没有成功。
但是,如果您需要完成工作,可以使用以下解决方法:
创建包含 TCPDUMP_FORMAT 变量定义的文件 tcpdumpd.environment
。
TCPDUMP_FORMAT=%Y-%m-%d_%H:%M:%S
修改tcpdumpd.service
:添加EnvironmentFile=
选项,并将格式字符串替换为${TCPPDUMP_FORMAT}
。
[Unit]
Description=TCPDumpd
After=multi-user.target network.target
[Service]
Type=simple
EnvironmentFile=tcpdumpd.environment
ExecStart=/usr/sbin/tcpdump -pni eth0 -s65535 -G 3600 -w '/var/log/tcpdump/trace_${TCPDUMP_FORMAT}.pcap' -z gzip
Restart=on-abort
[Install]
WantedBy=multi-user.target
关于tcpdump - 如何转义 systemd 说明符以传递给 ExecStart 中的命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40532499/
我尝试将 Debian(以及 LinuxMint 和 Ubuntu & Co. 等衍生发行版)上使用的 SysVintit 脚本转换为 Fedora 或 ArchLinux(以及 Bridge 或 M
我创建了一个 systemd目录 /lib/systemd/system/ 中的服务文件发射nodejs作为一项服务。问题是该文件包含到 nodej 的硬编码路径。在 ExecStart field
我有一个服务文件,它拒绝实际启动 ExecStart 指令中指定的服务。 如果我从终端提示符运行完全相同的命令,一切都会按预期进行。我已经检查了文件等的所有权限,但我所做的任何事情都不会启动该程序。
已结束。此问题不符合 Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 a specific programming problem, a software a
我有一个Python脚本,可以作为CentOS 7中的systemd守护进程。该守护进程由我在virtualenv中创建的python版本执行。我正在尝试调整脚本,以便能够在环境变量中设置 virtu
我编写了以下 systemd 服务 tcpdumpd.service 来启动持久的 tcpdump 记录。 [Unit] Description=TCPDumpd After=multi-user.t
我有一个Python脚本,可以作为CentOS 7中的systemd守护进程。该守护进程由我在virtualenv中创建的python版本执行。我正在尝试调整脚本,以便能够在环境变量中设置 virtu
这是我的 Systemd 脚本: [Unit] Description=RDS Services [Service] WorkingDirectory=/home/rdsdb2/script_rds/
以下测试在CentOS 7.1下进行。 创建以下文件 test.service在/usr/lib/systemd/system/ [Unit] Description=Test Bash Brace
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
Systemd 和 Gunicorn 需要某种 wsgi 文件作为 ExecStart 的最后一个参数:http://docs.gunicorn.org/en/latest/deploy.html?h
我正在尝试创建一个使用 ExecStart 运行多个脚本的服务其中一些可能会失败。我需要忽略这些失败的脚本并为服务返回成功。 以前我用过 upstart这就是我实现它的方式。 start on run
我正在尝试在端口 80 上运行一个 node.js 站点(我正在使用 Digital Ocean)。我在服务文件中使用 systemd 执行此操作 ... ExecStart=/usr/bin/nod
我有以下服务文件: [Unit] Description=MyApp After=syslog.target network.target StartLimitIntervalSec=0 [Servi
我有一个 Systemd 服务,它启动输出过程,我需要将其作为普通 Bash 脚本执行 [Unit] Description=Example app [Service] Type=simple PID
我已经创建了一个 systemd 服务,就像任何触发运行进程的中断然后它必须自行重启一样。但服务显示其状态为正在运行(使用 systemctl status x.service),即使在进程退出后(在
我是一名优秀的程序员,十分优秀!