10 个拿来就用的 Shell 脚本实例!
版权声明
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
杰哥的IT之旅
扫码关注公众号
扫码阅读
手机扫码阅读
文章主旨:本文提供了一系列用于Linux系统管理、用户管理、文件监控及MD5值比对等任务的Shell脚本及详细功能说明,旨在帮助运维人员自动化执行常见操作。
关键要点:
- 脚本1:筛选具有/bin/bash默认Shell的用户,排除root和tidb后将其他用户Shell修改为/sbin/nologin以禁止远程登录。
- 脚本2:读取md5_list文件中的哈希值,检查其是否存在于md5_no_hash.txt中,并输出相应提示信息。
- 脚本4、5:交互式创建新用户,设置密码、家目录、权限,并配置vsftpd服务,二者区别在于家目录路径层次。
- 脚本6、7:循环遍历指定省份目录,查询文件大小及文件数量,输出结果至文本文件。
- 脚本8:监控特定目录下XML文件的修改时间,将符合时间段条件的文件信息记录到日志。
内容结构:
- 脚本1(禁止非root/tidb用户登录):通过解析/etc/passwd文件获取用户列表,使用usermod修改Shell。
- 脚本2(MD5值比对):定义两个文件路径,逐行读取md5_list,利用grep检查是否存在。
- 脚本4(创建用户并配置vsftpd):交互输入用户名、密码、省份代码,设置家目录权限,将用户加入vsftpd列表并重启服务。
- 脚本5(带额外ID的创建用户):在脚本4基础上增加idcid输入,家目录增加一层路径。
- 脚本6(分运营商查询文件大小与数量):定义含省份、运营商、类别的路径列表,循环进入目录执行du与文件计数,结果存入/opt下文件。
- 脚本7(简化版文件查询):与脚本6类似,但仅指定省份编码,默认数据上报类型为1024。
- 脚本8(XML文件修改时间监控):进入当前日期目录,列出.xml文件,过滤出在00-08、10-12、14-16时段内修改的文件,追加到日志文件。
文章总结:本批脚本覆盖了用户管理、文件监控、数据校验等常见运维场景,结构清晰,可直接复制使用或作为模板修改,适合Linux系统管理员参考。
杰哥的IT之旅
杰哥的IT之旅
扫码关注公众号