小编Rfr*_*ile的帖子

循环登录linux

在 FreeBSD 中有一个实用程序来支持循环日志文件,称为clog

这对于避免维护某些服务(在 systemd 和它们的 journald 之外)的日志非常有趣。

在 linux 和/或 rsyslog 中是否有其他方法可以做同样的事情?

linux logs rsyslog

6
推荐指数
1
解决办法
4676
查看次数

Uptime 命令对挂起和恢复状态的误解

正常运行时间的定义是“告诉系统运行了多长时间”。但是如果您将系统电源状态更改为挂起或恢复:

# uptime
 09:50:33 up  8 min, 2 users,  load average: 0,24, 0,33, 0,15
# pm-suspend
(5 minutes later, turning on again)
# uptime
 09:55:15 up  13 min, 2 users,  load average: 0,33, 0,33, 0,16
# pm-hibernate
(5 minutes later, turning on again)
# uptime
 10:01:16 up  19 min, 2 users,  load average: 3,77, 1,14, 0,43
Run Code Online (Sandbox Code Playgroud)

系统尚未运行,但正常运行时间计数器增加。

在他们的定义中使用术语“墙壁时间”“经过的实时时间”而不是“一直在运行”可能是当今正确的方法?

https://en.wikipedia.org/wiki/Elapsed_real_time

command-line proc uptime time

5
推荐指数
1
解决办法
643
查看次数

使用 .timer 单元重新启动 systemd .service

我有以下执行脚本的 systemd myscript.service 单元:

[Unit]
Description=MyScript
Wants=time-sync.target

[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/usr/local/bin/test.sh -a
ExecStop=/usr/local/bin/test.sh -b

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

我想使用以下 Systemd myscript.timer 单元每分钟重新启动它:

[Unit]
Description=Schedule script execution

[Timer]
OnCalendar=*:0/1

[Install]
WantedBy=timers.target
Run Code Online (Sandbox Code Playgroud)

它只在第一次起作用,之后,状态保持为n/a:

# systemctl list-timers
NEXT                         LEFT        LAST                         PASSED      UNIT                         ACTIVATES
n/a                          n/a         Tue 2019-10-15 14:50:01 EDT  3ms ago     myscript.timer               myscript.service
Run Code Online (Sandbox Code Playgroud)

systemd services systemd-timer systemd-unit

4
推荐指数
1
解决办法
5458
查看次数