我试图在Ubuntu16.04上作为systemd服务运行flume,并在/etc/systemd/system/flume-ng.service中使用以下内容
[Unit]
Description=Apache Flume
[Service]
ExecStart=/usr/bin/nohup /opt/flume/current/bin/flume-ng agent -c /etc/flume-ng/conf -f /etc/flume-ng/conf/flume.conf --name a1 &
ExecStop=/opt/flume/current/bin/flume-ng agent stop
[Install]
WantedBy=multi-user.target我试着添加了以下几行
StandardOutput=/var/log/flume-ng/log1.log
StandardError=/var/log/flume-ng/log2.log 对我来说不管用。我确实运行了systemctl daemon-reload和systemctl restart flume-ng
有人知道这是怎么回事吗?
发布于 2018-11-04 00:29:30
以下内容仅适用于systemd v236和更新版本:
StandardOutput=file:/var/log/flume-ng/log1.log
StandardError=file:/var/log/flume-ng/log2.log记录在案的这里。
对于比v236更早的系统,可以使用:
ExecStart=/bin/sh -c 'exec /usr/bin/my_binary [arguments] >/var/log/flume-ng/log1.log 2>/var/log/flume-ng/log2.log'请注意,这样,每次服务重新启动时,整个日志文件内容都将被覆盖。
如果希望在服务重新启动之间维护文件日志,只需向其添加新的日志行:
# Works only in systemd v240 and newer!
StandardOutput=append:/var/log/flume-ng/log1.log
StandardError=append:/var/log/flume-ng/log2.log对于比v240更早的系统,可以使用:
ExecStart=/bin/sh -c 'exec /usr/bin/my_binary [arguments] >>/var/log/flume-ng/log1.log 2>>/var/log/flume-ng/log2.log'exec是指在没有分叉的情况下设置重定向后,用my_binary程序代替shell程序。因此,与直接在my_binary之后运行ExecStart=没有什么区别。
发布于 2019-01-29 10:03:05
对于在不覆盖的情况下登录到文件(system.d版本需要240+ ):
StandardOutput=append:/var/log/flume-ng/log1.log
StandardError=append:/var/log/flume-ng/log2.log或
StandardOutput=append:/var/log/flume-ng/log.log
StandardError=inherit发布于 2019-06-28 12:34:42
我希望这能帮上忙。给Ununtu
[Unit]
Description=name-service
After=syslog.target
After=mysql.service
Requires=mysql.service
[Service]
Type=idle
PIDFile=/path_to_PID/****.pid
WorkingDirectory=/path_to_directory
User=root
Group=root
ExecStart=****.py
Restart=always
TimeoutStartSec=1min
RestartSec=1min
KillMode=process
StandardOutput=append:/path_to_log/service.log
StandardError=append:/path_to_log/service_error.log
[Install]
WantedBy=multi-user.target为CENTOS
[Unit]
Description=name-service
After=syslog.target
After=mysql.service
Requires=mysql.service
[Service]
Type=idle
PIDFile=/path_to_PID/****.pid
WorkingDirectory=/path_to_directory
User=root
Group=root
ExecStart=****.py >>/path_to_log/log.log
Restart=always
TimeoutStartSec=1min
RestartSec=1min
KillMode=process
[Install]
WantedBy=multi-user.target“后”和“要求”的必要性。“用户”和“组”
另一个选项:在执行的脚本中添加日志记录。
https://unix.stackexchange.com/questions/321709
复制相似问题