我用最少的配置安装了CentOS 7(os + dev工具).我正在尝试打开80端口进行httpd服务,但是我的iptables服务有问题......它出了什么问题?我究竟做错了什么?
# ifconfig/sbin/service iptables save
bash: ifconfig/sbin/service: No such file or directory
# /sbin/service iptables save
The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl.
# sudo service iptables status
Redirecting to /bin/systemctl status iptables.service
iptables.service
Loaded: not-found (Reason: No such file or directory)
Active: inactive (dead)
# /sbin/service iptables save
The service command supports only basic LSB actions (start, stop, …Run Code Online (Sandbox Code Playgroud) 我试图将系统服务的o/p重定向到文件但它似乎不起作用.我这样做如下:
[Unit]
Description=customprocess
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/bin/binary1 agent -config-dir /etc/sample.d/server
StandardOutput=/var/log1.log
StandardError=/var/log2.log
Restart=always
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
请建议将o/p重定向到文件的正确方法
我有简单的Python脚本,可以作为守护进程使用.我正在尝试创建systemd脚本,以便能够在启动期间启动此脚本.
当前的systemd脚本:
[Unit]
Description=Text
After=syslog.target
[Service]
Type=forking
User=node
Group=node
WorkingDirectory=/home/node/Node/
PIDFile=/var/run/zebra.pid
ExecStart=/home/node/Node/node.py
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
node.py:
if __name__ == '__main__':
with daemon.DaemonContext():
check = Node()
check.run()
Run Code Online (Sandbox Code Playgroud)
run包含while True循环.
我尝试运行此服务systemctl start zebra-node.service.不幸的是服务从未完成陈述序列 - 我必须按Ctrl + C. 脚本正在运行,但状态正在激活,一段时间后它将更改为停用状态.现在我正在使用python-daemon(但在没有它尝试之前,症状相似).
我应该为我的脚本实现一些额外的功能还是systemd文件不正确?
一般问题:如何.service在特定.service成功启动后启动systemd ?
具体问题:如何在开始website.service后才mongodb.service开始?换句话说website.service应该依赖mongodb.service.
它似乎systemd在Ubuntu Docker镜像中不活跃或不可用.
我从ubuntu:16.04和ubuntu:16.10图像运行Docker容器.
如果我systemctl status ssh在16,04容器中执行,结果就是错误Failed to connect to bus: No such file or directory.在16.10容器中的误差bash: systemctl: command not found.
如果我which systemctl在16.04容器中找到systemctl 但在16.10容器中找不到.
我发现/lib/systemd存在.
我尝试过安装systemd apt-get install systemd libpam-systemd systemd-ui.然后which systemctl找到systemctl 16.10但systemctl status ssh仍然给出错误Failed to connect to bus: No such file or directory
我的主要问题是:如何激活systemd和systemctl以在Ubuntu Docker镜像中使用?
为什么systemd在Ubuntu Docker容器中不活动?systemd不用于实例化容器吗?
我并没有发现有关此主题的Ubuntu/Ubuntu的泊坞图像,只有从Ubuntu转换信息的任何文件Upstart来 …
我正在尝试设置一个简单的systemd计时器,以便每天午夜运行bash脚本.
systemctl --user status backup.service 失败并记录以下内容:
backup.service: Failed at step EXEC spawning /home/user/.scripts/backup.sh: No such file or directory.
backup.service: Main process exited, code=exited, status=203/EXEC
Failed to start backup.
backup.service: Unit entered failed state.
backup.service: Failed with result 'exit-code'.
Run Code Online (Sandbox Code Playgroud)
我迷路了,因为文件和目录存在.该脚本是可执行的,只是为了检查,我甚至设置了777的权限.
一些背景:
在backup.timer和backup.service单元文件位于/home/user/.config/systemd/user.
backup.timer 已加载并处于活动状态,目前正在等待午夜.
这是它的样子:
[Unit]
Description=Runs backup at 0000
[Timer]
OnCalendar=daily
Unit=backup.service
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
这是backup.service:
[Unit]
Description=backup
[Service]
Type=oneshot
ExecStart=/home/user/.scripts/backup.sh
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
最后,这是一个意思backup.sh:
#!/usr/env/bin bash
rsync -a --delete --quiet /home/user/directory/ …Run Code Online (Sandbox Code Playgroud) 我正在使用一个systemd服务,当它被"启动"时调用一个进程(例如$ systemctl start test.service).根据设计,该过程永远保持循环,我们可以使用'ps'命令查看进程是否存在.我们还看到该进程被系统停止命令杀死(按预期).但是我们的要求是,我们希望在进程被杀之前从进程内做一些安全的关闭操作.但我不确定如何从进程中检测系统停止操作.
systemctl是否停止test.service命令发送SIGKILL或SIGTERM信号以终止该进程?如何从进程中检测到systemctl停止操作?
我有一个简单的systemd服务需要定期重新启动,以防止其进程被窃听.是否有系统服务的配置选项可以定期重启它们?所有Restart*选项似乎都与退出时重新启动服务有关.
我有一个服务,依赖于Cassandra优雅地出现,集群正在准备好.
为了确保满足依赖顺序,我有以下单元文件
[Unit]
Requires=cassandra.service
After=cassandra.service
[Service]
Environment=JAVA_HOME=/usr/java/jre
ExecStart=@bringup.instance.path@/webapps/bringup-app/bin/bringup
TimeoutStartSec=0
ExecStop=
PIDFile=@bringup.instance.path@/logs/bringup.pid
Restart=always
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
如何确保启动应用程序进程在尝试启动之前等待30秒?目前虽然它是在Cassandra之后启动的,但我注意到Cassandra集群尚未启动,因此任何来自启动应用程序连接到Cassandra的尝试都会失败.
因此,我想添加一个延迟.这可能通过单位文件?
systemd服务Type oneshot和有simple什么区别?此链接表示使用simple而不是oneshot计时器.我无法正确理解它.