systemd相关

问题

服务器需要连接校园网,但是一段时间不使用,校园网会自动断开。所以需要配置shell脚本,每隔一段时间向校园网地址post请求。

解决方案

执行一个开机自启动的服务,该服务执行python文件,python文件来进行post请求,每隔一段时间

流程

下面命名为auto-login.service

[Unit]
Description=北航自动登录脚本
After=network-online.target

[Service]
Type=simple
ExecStart=/opt/share/buaa_auto_login/auto-login.sh
User=nobody
Group=nogroup
WorkingDirectory=/tmp
Restart=always
RestartSec=1800s

[Install]
WantedBy=multi-user.target

auto-login.sh里面就一句python 目录/Login.py login userid password

这样只需要开机自启动这个服务,这个服务每三分钟调用一次auto-login.sh,然后这个sh脚本调用python进行联网,实现功能。

开机自启动配置

# 添加或修改配置文件后,需要重新加载
systemctl daemon-reload

# 设置自启动,实质就是在 /etc/systemd/system/multi-user.target.wants/ 添加服务文件的链接
systemctl enable auto-login

systemd概述

Unit文件

Systemd 可以管理所有系统资源,不同的资源统称为 Unit(单位)。

systemd目录

Unit 文件按照 Systemd 约定,应该被放置指定的三个系统目录之一中。这三个目录是有优先级的,如下所示,越靠上的优先级越高。因此,在三个目录中有同名文件的时候,只有优先级最高的目录里的那个文件会被使用。

  • /etc/systemd/system:系统或用户自定义的配置文件
  • /run/systemd/system:软件运行时生成的配置文件
  • /usr/lib/systemd/system:系统或第三方软件安装时添加的配置文件。

Systemd 默认从目录 /etc/systemd/system/ 读取配置文件。但是,里面存放的大部分文件都是符号链接,指向目录 /usr/lib/systemd/system/,真正的配置文件存放在那个目录。

Unit文件结构
  • Unit 和 Install 段:所有 Unit 文件通用,用于配置服务(或其它系统资源)的描述、依赖和随系统启动的方式
  • Service 段:服务(Service)类型的 Unit 文件(后缀为 .service)特有的,用于定义服务的具体管理和操作方法

Service段中各个字段含义

  • Type=simple:默认值,执行ExecStart指定的命令,启动主进程
    ExecStart:启动当前服务的命令
  • RestartSec:自动重启当前服务间隔的秒数
  • Restart:定义何种情况 Systemd 会自动重启当前服务,可能的值包括 always(总是重启)、on-success、on-failure、on-abnormal、on-abort、on-watchdog
  • User:指定运行服务的用户
  • Group:指定运行服务的用户组
  • 指定服务的工作目录

例行性工作安排

两种工作排程方式,

  • 一种是例行性的,每隔一个周期就要进行 crontab
  • 一种是突发性,做完一次就行。 at

systemd的配置文件放置目录
系统开机是否会执行某个服务取决于/etc/systemd/system下的文件,而该目录下是连接档,实际执行的启动脚本配置文件在/usr/lib/systemd/system下面,

扩展名主要服务功能
.service最常见的类型
.socker最常见的类型
.target是一群unit的集合,即执行一堆其他的.service或者.socket服务

systemctl status atd.service
systemctl stop atd.service

如何设定相关的服务启动环境,

vim /etc/systemd/system/myTime.service
systemctl daemon-reload
[root@asswei ~]# systemctl start myTime.service
[root@asswei ~]# systemctl status myTime.service

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值