从手动到自动:掌握Shell脚本转换为System服务的魔法!
创作时间:
作者:
@小白创作中心
从手动到自动:掌握Shell脚本转换为System服务的魔法!
引用
CSDN
1.
https://blog.csdn.net/sinat_28521487/article/details/143714638
从Ubuntu 17.10版本开始,系统默认不再包含/etc/rc.local文件了,这是因为systemd已经成为了主要的系统初始化工具。不过别担心,如果你希望在开机时自动运行一些特定的命令,可以通过创建一个简单的Shell脚本,并将其设置为一个systemd服务来轻松实现这个需求哦!
实现方法
这里以一个简单的脚本为例,将需要开机自动执行的命令写入脚本文件内,赋予可执行权限。脚本内容如下:
这个脚本的主要任务是持续关注/var/log/auth.log文件。一旦发现有异常登录的情况,它会自动收集尝试登录的用户名以及该用户的IP地址。接着,它会利用ipinfo.io来查找这些IP地址的具体位置信息。最后,通过一个第三方的通知工具,比如钉钉,将这些重要信息即时发送给您,确保您可以及时了解到任何不寻常的活动。
赋予该脚本可执行的权限
chmod +x /root/script/monitor_login.sh
创建systemd文件
在/etc/systemd/system目录中创建一个新的服务文件,例如monitor-login.service:
sudo nano /etc/systemd/system/monitor-login.service
然后将以下内容添加到该文件中:
[Unit]
Description=Login Failure Monitoring Service
After=network.target
[Service]
ExecStart=/root/script/monitor_login.sh
Restart=on-failure
User=root
# 环境变量设置(如果有)
Environment="LOG_FILE=/var/log/auth.log"
[Install]
WantedBy=multi-user.target
配置说明:
- [Unit]
- Description:服务的描述。
- After=network.target:确保网络启动后再启动此服务。
- [Service]
- ExecStart:指定脚本路径。
- Restart=on-failure:如果脚本因错误退出,会自动重启。
- User=root:使用 root 用户运行该服务(如果需要)。
- Environment:设置环境变量,如LOG_FILE。确保脚本中读取$LOG_FILE的位置正确。
- [Install]
- WantedBy=multi-user.target:服务将在系统的多用户目标下启动,通常为默认运行级别。
重新加载systemd配置并启动服务
执行下面的命令,重新加载systemd配置。
sudo systemctl daemon-reload
通过执行systemctl status monitor-login.service查看服务启动状态,如下图所示
最后通过执行下面的命令,设置开机自启动。
sudo systemctl enable monitor-login.service
通过执行如下命令查看开机启动项:
systemctl list-unit-files --type=service | grep enabled | grep login
可以看到自定义的服务已经设置成功了,如下图所示
验证
当检测到有用户异常登录时,我们的钉钉会收到如下图所示的温馨提醒,以帮助我们及时关注并处理可能的安全问题。
脚本获取方式
上述脚本已经上传上传到gitee,有需要的小伙伴可以自行获取。gitee上的仓库主要是分享一些工作中常用的脚本。小伙伴可以frok或者watch仓库,这样有更新可以及时关注到。
仓库地址:
https://gitee.com/didiplus/script
热门推荐
人工智能赋能养老 | 开启智慧养老新篇章
吉林延边,为何“一半韩流,一半东北”?
国企党建和业务工作怎么融合开展?“四个一”闭环管理机制打造标杆样板
数据仓库核心概念:实体表、维度表、事实表、物理表与逻辑表详解
眼部区域化淋巴系统介导的眼 - 脑免疫联系机制揭示
“数据要素×”典型案例之九 | 多元数据融合 支撑空间与天文科技创新发现
牙髓炎与牙周病有何区别?如何区分两者?
如何使用两台电脑进行双机推流直播
熊市里怎样进行交易操作?这种交易方式有哪些风险?
一文了解MOSFET分类、工作原理及工作区域
如何全面了解大豆行情?了解大豆行情对市场有哪些影响?
弓和弩,孰强孰弱?游牧文明和农耕文明的远程武器对决
崔氏兄弟的"奶茶通俗学":从个人爱好到文化研究
成本核算的几种方法比较与应用
社区健康教育项目,提升高血压与糖尿病患者生活质量的有效途径
湖南旅游集团多措并举 激发文旅消费新动能
无成本 纯收益 已成行业惯例?飞机上消费者“自主选座权”如何保障
摄影入门必修课:光圈、快门速度与感光度详解
如何撰写有效的群公告:清晰、简洁与互动的重要性
摩托车驾照考试全解析:科目详解与备考攻略
从零开始学摩托:专业培训如何全面提升驾驶技能?
驻村帮扶培训指南
符拉迪沃斯托克:俄罗斯远东的明珠与战略重镇
膝盖有积液用针灸治疗可以吗
详解上市公司ESG战略升级及治理转型之道
健康科普丨规范预防、正确护理,远离破伤风危害
猫薄荷和薄荷的区别有哪些?是一样的吗?(猫薄荷与薄荷的区别)
法拍房在哪找?三大官方渠道全解析
股票持有的策略有哪些?这些策略的实施需要注意什么?
孩子生長遲緩,恐增加三高風險!定期監測身高體重,有異常及早診斷