我需要做什么才能完成这个服务/计时器?

我需要做什么才能完成这个服务/计时器?

我正在尝试编写一个.service文件来更新我的linux_logo正常运行时间。我在 SysV init 中将其作为 cronjob 工作,但是当我丢失系统后丢失了我的示例升级到LVM。我有以下文件/etc/conf.d/linux-logo

# Seq   Description             Output
# ----------------------------------------------------------------
# ##                            #
# #B    Bogomips                374.37
# #C    Compiled Date           #47 Fri Jan 8 10:37:09 EST 1999
# #E    User Text               My Favorite Linux Distribution
#       Displayed with -t
# #H    Hostname                deranged
# #L    Load average            Load average 0.04, 0.01, 0.01
# #M    Megahertz               188Mhz
#       where supported
# #N    Number of CPU's         Two
# #O    OS Name                 Linux
# #P    Processor or Processors Processor
# #R    Ram                     64M
#       in Megabytes
# #S    Plural                  s
# #T    Type of CPU             K6
# #U    Uptime                  Uptime 10 hours 59 minutes
# #V    Version of OS           2.2.0-pre5
# #X    CPU Vendor              AMD
# \\n   carriage return

LOGO="-L gentoo-alt"
FORMAT="Gentoo #O `cat /etc/gentoo-release | awk '{ print $5,$6 }'`\n#O #V, Compiled #C\n#N #X #T #M CPU#S, #R RAM, #B Bogomips\n#U\n#H / \l  \n"
FORMATNET="Gentoo #O `cat /etc/gentoo-release | awk '{ print $5,$6 }'`\n#O #V, Compiled #C\n#N #X #T #M CPU#S, #R RAM, #B Bogomips\n#U\n#H\n"
OPTIONS="-f -u"

我编写了以下服务文件:

#/etc/systemd/system/linux-logo.service
[Unit]
Description=Updates LinuxLogo every 15 Minutes

[Service]

和这个计时器文件:

#/etc/systemd/system/linux-logo.timer
[Unit]
Description=Run linux-logo.service every 15 minutes

[Timer]
OnCalendar=*:0/15

正如您所看到的,我不知道应该去哪里完成该[Service]条目。我不知道如何传递所有变量 、LOGOFORMATFORMATNETOPTIONS。如有帮助,将不胜感激。


顺便说一句,我也想将其添加到我的桌面环境中的终端中,但我必须首先让更新正常工作,即每次我打开终端应用程序时,徽标都应该打印自身和更新的正常运行时间。

答案1

我不知道如何linuxlogo设法出现在 tty 控制台上,但您可以通过添加到该[Service]部分来从您的 Unit 文件运行它

Type=oneshot
EnvironmentFile=/etc/conf.d/linux-logo
ExecStart=/usr/bin/linuxlogo

请记住,sudo systemctl enable linux-logo.timer下次启动时,请使用类似的方式手动启动它sudo systemctl start linux-logo.timer。另外,对这两个文件进行任何更改后,执行sudo systemctl daemon-reload.

相关内容