自定义系统服务 Systemd定时任务

具体步骤

一、写任务脚本文件Shell

1.在/usr/local/bin下编写脚本

vim syslog.sh

date旁边的是反引号

2.加执行权限

chmod +x syslog.sh

3.创建文件

touch syslog.txt

二、编写一个配套的服务单元文件Service

1.在/etc/systemd/system下编写脚本

vim syslog.service

[Unit]

Description=date daemon

[Service]

Type=simple

ExecStart=/usr/local/bin/syslog.sh

上面的内容表示服务将执行 /usr/local/bin/syslog.sh 这个脚本。systemd 会等待这个脚本执行完毕,然后根据 Type=simple 的设置,一旦脚本执行完毕,systemd 就认为服务已经启动完成。

三、编写一个定时器单元文件Timer

1..在/etc/systemd/system下编写脚本

vim syslog.timer

[Unit]

Description=Run syslog every second

[Timer]

OnUnitActiveSec=3s

AccuracySec=1us

[Install]

WantedBy=multi-user.target

上面的内容表示Systemd 定时器允许你按照设定的时间间隔来启动服务单元(service unit)

其中

  • Description: 这一行是对该定时器单元的简短描述。在这里,描述为“每秒运行 syslog”。请注意,这里的描述可能与实际的服务或任务不完全匹配,只是作为一个示例。
  • OnUnitActiveSec: 这个选项定义了从上次服务单元激活后,再次激活服务单元所需的时间间隔。

  • AccuracySec: 这个选项定义了定时器激活的准确度。在这里,它被设置为 1us(微秒),意味着 Systemd 会尽力在指定的时间间隔内启动服务单元,但实际的启动时间可能会有些许偏差,偏差不会超过1微秒。虽然1微秒是一个非常小的值,但在实际应用中,由于系统负载和其他因素,定时器可能无法达到这样的精确度。
  • WantedBy: 这个选项定义了哪些目标(target)需要这个定时器单元。在这个例子中,定时器单元被设置为在 multi-user.target 被激活时也被激活。multi-user.target 通常表示系统已进入多用户模式,此时大多数系统服务都已启动,用户可以登录并使用系统。

2.将 SELinux 的模式设置为宽容模式

setenforce 0

SELinux 是一个为 Linux 内核提供的模块,用于提供访问控制安全策略机制。它通过对进程和文件定义了一系列的访问规则,以此来保护系统免受恶意攻击和未授权访问。

在 SELinux 中,有三种主要的模式:

(1). *Enforcing*:这是 SELinux 的默认模式。在此模式下,SELinux 强制执行定义的安全策略。如果某个进程试图违反这些策略,那么它将被拒绝访问,并可能在系统日志中记录相关信息。

(2). *Permissive*:在这个模式下,SELinux 不会阻止任何违反策略的行为,但它会记录这些违规行为。这允许管理员在不影响系统正常运行的情况下,观察哪些策略被违反了,然后根据需要调整策略。

(3). *Disabled*:在这个模式下,SELinux 完全被禁用,不执行任何安全策略。

四、重新装载单元文件

systemctl daemon-reload

五、设置定时起开机启动

systemctl enable syslog.service

systemctl start syslog.service

systemctl enable syslog.timer

systemctl start syslog.timer

六、查看服务状态

systemctl status syslog.service

systemctl status syslog.timer

七、查看日志

tail -f syslog.txt

每三秒出现一次

  • 15
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值