我希望我的systemd服务在故障时自动重新启动。 另外我想率限制重新启动。 我想在90秒内最多允许3次重启。 因此我做了以下configuration。 [服务] 重启=始终 StartLimitInterval = 90 StartLimitBurst = 3 现在服务在失败时重新启动。 3次快速故障/重新启动后,不再按预期重新启动。 现在我期望systemd在超时后启动服务(StartLimitInterval)。 但是systemd在超时后(90秒)不会自动启动服务,如果我在超时工作后手动重启服务。 但是我希望systemd在StartLimitInterval之后自动启动服务。 请让我知道如何实现这个function。
上下文 我有一个在Amazon EC2上运行的Fedora 20云映像 (以下称为“实例”)。 而且对于持续设置主机名我还有一些不确定性。 目标 在这种情况下,假设我想将实例的主机名设置为penpen.homelinux.org 。 (这个名字也将使用ddclient在DynDNS注册,但这是我们不感兴趣的另一个方面。) 主机名当然可以在引导完成后手动设置(使用hostnamectl等)。 但是我们希望在第一次login之前设置正确的主机名。 传统上,要持久地configuration主机名,可以修改/etc/hostname的内容。 不幸的是, 这不起作用。 系统默认行为 默认情况下,实例将其主机名设置为内部EC2名称。 启动后,我们可以查看产生主机名的所有不同的地方,我们发现: Kernel hostname via 'sysctl' : ip-10-164-65-105.ec2.internal Kernel domainname via 'sysctl' : (none) File '/etc/hostname' : contains 'ip-10-164-65-105.ec2.internal' File '/etc/sysconfig/network' : exists but has no 'HOSTNAME' line According to the shell : HOSTNAME = ip-10-164-65-105.ec2.internal Nodename given by […]
我正在创build一个systemd .service文件,我需要帮助理解Requires=和After=之间的区别。 手册页说Requires= “configuration需求依赖关系到其他单位”。 和After= “configuration单元之间的顺序依赖关系”。 有什么不同?
如果我作为nonroot运行journalctl,我会得到以下消息: No journal files were found. 但切换到根,或使用sudo给我的日记。 如何查看日志而不切换到根目录(例如,我应该添加哪个组)? 在文档中找不到它。
系统单元文件可能放置在许多不同的地方。 有没有一种简单快捷的方法来询问systemd在哪里读取服务的声明,只给出服务名称?
我发现这个systemd服务文件启动autossh以保持一个SSH隧道: https : //gist.github.com/thomasfr/9707568 [Unit] Description=Keeps a tunnel to 'remote.example.com' open After=network.target [Service] User=autossh # -p [PORT] # -l [user] # -M 0 –> no monitoring # -N Just open the connection and do nothing (not interactive) # LOCALPORT:IP_ON_EXAMPLE_COM:PORT_ON_EXAMPLE_COM ExecStart=/usr/bin/autossh -M 0 -N -q -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" -p 22 -l autossh remote.example.com […]
我已经通过apt安装了pimd服务。 这与一个上游systemd单元文件( /lib/systemd/system/pimd.service )。 我想要服务被重新启动,当它由于某种原因被杀死,因此我希望在单元文件中添加行Restart = always 。 但是,我不想修改上游单元文件。 有没有解决方法?
我已经成功地为本地用户增加了nofile和nproc值,但是我找不到适合systemd启动的进程的解决scheme。 将max_open_files添加到MariaDBconfiguration没有帮助。 su – mysql手动更改限制也不起作用(此帐户当前不可用)。 在/etc/security/limits.conf * soft nofile 102400 * hard nofile 102400 * soft nproc 10240 * hard nproc 10240 /etc/security/limits.d/20-nproc.conf (目录中不存在其他文件) * soft nofile 102400 * hard nofile 102400 * soft nproc 10240 * hard nproc 10240 /etc/sysctl.conf中 fs.file-max = 2097152 将/etc/pam.d/system-auth #%PAM-1.0 # This file is auto-generated. # User changes will […]
当系统服务崩溃或挂起时(即,进入失败状态;使用WatchdogSec =监视挂起),我需要发送networking消息。 我注意到更新的systemd有FailureAction =,但是后来看到这不允许任意命令,而只是重新启动/closures。 具体来说,我需要一种方式,当systemd检测到程序崩溃时,发送一个networking消息,另一个当它检测到它挂起。 我希望得到比“parsing日志”更好的答案,而且我需要一些接近即时的响应时间,所以我不认为投票方法是好的。 它应该是由事件触发事件发生。
Debian Jessie带有systemd 。 设置主机名的build议是使用systemname的hostnamectl。 但是, 在EC2上引导的Debian Jessie 映像上 ,该命令不起作用(即使显示当前主机名): sudo hostnamectl sudo: unable to resolve host ip-172-30-0-17 Failed to create bus connection: No such file or directory 所以我试图在这里推荐Debian的build议。 echo "myhostname" > /etc/hostname echo "127.0.0.1 myhostname" >> /etc/hosts /etc/init.d/hostname.sh start /etc/init.d/networking force-reload 但是,注销并重新login后,主机名不会更改。 但重启后它会改变,但这对我来说是不可取的。 这个方法曾经在Debian Wheezy中工作。 任何帮助获得这一权利表示赞赏。