从手动到自动:掌握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
热门推荐
如何分析行业板块的发展趋势?这种发展趋势有哪些影响因素?
如何选择适合自己的群晖NAS?从需求到型号的全方位深度解析
银行黄金理财产品的选择
孕妇检查流程有哪些
德州名茶:茉莉花茶与德州茶楼概览
鹅泉跃鲤三层浪,广西靖西好风光
Excel曲线积分计算方法详解:数值积分、公式计算与VBA编程
HTML制作手机版网页:从响应式设计到性能优化
体彩知多少丨结束销售与开奖直播之间的25分钟,体彩机构在做的是……
六道轮回的六种境界与轮回的过程解析
如何判断贵金属产品纯度价值?这种纯度标准如何影响市场价格?
《英雄没有闪》野蛮人痛割流派深度攻略
痛割流派攻略:三种玩法详解
壹邦健康知识:头发变黄是营养不良的信号?
长期吃猪油渣,对血管有益还是有害?猪油渣能防癌?告诉你大实话
EI论文如何查找引用
红豆和什么一起煮粥比较好
膝盖总是咔咔响,是正常现象还是疾病前兆?
JPA和Spring-Data-JPA简介
哭泣情绪调节功能的科学探讨
曾和林志颖比肩,爆红一时的孙耀威,他的故事远比你想象的要惨淡
金毛犬易生病?(探究金毛犬常见疾病及预防方法)
从“碗”到“袋” 青春力量让兰州牛肉拉面香飘全国
胚胎停止发育是什么原因导致的
区域视角的城乡历史文化遗产保护思考
32650磷酸铁锂电池参数详解:如何通过串联实现12V输出
乾隆六下江南:一场盛世巡游背后的多重目的
如何在代码质量中有效使用日志记录
赣江观澜:江西“道教名山”何以唱响“龙虎天下绝”
如何通过 10 个简单步骤培训新员工