iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >如何使用Shell脚本自动化Linux系统维护任务
  • 738
分享到

如何使用Shell脚本自动化Linux系统维护任务

2023-06-28 15:06:42 738人浏览 八月长安
摘要

这篇文章将为大家详细讲解有关如何使用shell脚本自动化linux系统维护任务,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。系统管理员通常会使用sehll脚本解决工作中重复的工作,shell

这篇文章将为大家详细讲解有关如何使用shell脚本自动化linux系统维护任务,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

系统管理员通常会使用sehll脚本解决工作中重复的工作,shell脚本使系统管理员花费少的时间去做重复的工作。

什么是 shell 脚本?

简单的说,shell 脚本就是一个由 shell 一步一步执行的程序,而 shell 是在 Linux 内核和最终用户之间提供接口的另一个程序。
默认情况下,RHEL 7 中用户使用的 shell 是 bash(/bin/bash)。

写一个脚本显示系统信息

首先让我们新建一个目录用于保存我们的 shell 脚本:

# mkdir scripts# cd scripts

新建一个文本文件system_info.sh,在头部插入一些注释以及一些命令:

#!/bin/bash# 该脚本会返回以下这些系统信息:# -主机名称:echo -e "\e[31;43m***** HOSTNAME INFORMATioN *****\e[0m"hostnamectlecho ""# -文件系统磁盘空间使用:echo -e "\e[31;43m***** FILE SYSTEM DISK SPACE USAGE *****\e[0m"df -hecho ""# -系统空闲和使用中的内存:echo -e "\e[31;43m ***** FREE AND USED MEMORY *****\e[0m"freeecho ""# -系统启动时间:echo -e "\e[31;43m***** SYSTEM UPTIME AND LOAD *****\e[0m"uptimeecho ""# -登录的用户:echo -e "\e[31;43m***** CURRENTLY LOGGED-IN USERS *****\e[0m"whoecho ""# -使用内存最多的 5 个进程echo -e "\e[31;43m***** TOP 5 MEMORY-CONSUMING PROCESSES *****\e[0m"ps -eo %mem,%cpu,comm --sort=-%mem | head -n 6echo ""echo -e "\e[1;32mDone.\e[0m"

然后,给脚本可执行权限,并运行脚本:

# chmod +x system_info.sh./system_info.sh

为了更好的可视化效果各部分标题都用颜色显示:
如何使用Shell脚本自动化Linux系统维护任务
颜色功能是由以下命令提供的:

echo -e "\e[COLOR1;COLOR2m\e[0m"

其中 COLOR1 和 COLOR2 是前景色和背景色,是你想用颜色显示的字符串

使任务自动化

你想使其自动化的任务可能因情况而不同。因此,我们不可能在一篇文章中覆盖所有可能的场景,但是我们会介绍使用 shell 脚本可以使其自动化的三种典型任务:
1) 更新本地文件数据库
1) 查找(或者删除)有 777 权限的文件
2) 文件系统使用超过定义的阀值时发出警告。
让我们在脚本目录中新建一个名为 auto_tasks.sh 的文件并添加以下内容:

#!/bin/bash# 自动化任务示例脚本:# -更新本地文件数据库:echo -e "\e[4;32mUPDATING LOCAL FILE DATABASE\e[0m"updatedbif [ $? == 0 ]; then        echo "The local file database was updated correctly."else        echo "The local file database was not updated correctly."fiecho ""# -查找 和/或 删除有 777 权限的文件。echo -e "\e[4;32mLOOKING FOR FILES WITH 777 PERMISSIONS\e[0m"# Enable either option (comment out the other line), but not both.# Option 1: Delete files without prompting for confirmation. Assumes GNU version of find.#find -type f -perm 0777 -delete# Option 2: Ask for confirmation before deleting files. More portable across systems.find -type f -perm 0777 -exec rm -i {} +;echo ""# -文件系统使用率超过定义的阀值时发出警告 echo -e "\e[4;32mCHECKING FILE SYSTEM USAGE\e[0m"THRESHOLD=30while read line; do        # This variable stores the file system path as a string        FILESYSTEM=$(echo $line | awk '{print $1}')        # This variable stores the use percentage (XX%)        PERCENTAGE=$(echo $line | awk '{print $5}')        # Use percentage without the % sign.        USAGE=${PERCENTAGE%?}        if [ $USAGE -gt $THRESHOLD ]; then                echo "The remaining available space in $FILESYSTEM is critically low. Used: $PERCENTAGE"        fidone

" >> $WEB_DIR/report.html# Read the output of df -h line by linewhile read line; doecho "" >> $WEB_DIR/report.htmldone " >> $WEB_DIR/report.html

在我们的 RHEL 7 服务器(192.168.0.18)中,看起来像下面这样:
如何使用Shell脚本自动化Linux系统维护任务
你可以添加任何你想要的信息到那个报告中。添加下面的 crontab 条目在每天下午的 1:30 运行该脚本:

30 13 * * * /root/scripts/filesystem_usage.sh

关于如何使用Shell脚本自动化Linux系统维护任务就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到

--结束END--

本文标题: 如何使用Shell脚本自动化Linux系统维护任务

本文链接: https://www.lsjlt.com/news/320472.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用Shell脚本自动化Linux系统维护任务
    这篇文章将为大家详细讲解有关如何使用Shell脚本自动化Linux系统维护任务,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。系统管理员通常会使用sehll脚本解决工作中重复的工作,shell...
    99+
    2023-06-28
  • Linux系统如何使用shell脚本定时任务
    这期内容当中小编将会给大家带来有关Linux系统如何使用shell脚本定时任务,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。定时任务是Linux系统运维人员常用的一种技术手段,使用定时任务可以简化那些繁琐...
    99+
    2023-06-28
  • linux系统中如何安全使用shell脚本
    本篇文章为大家展示了linux系统中如何安全使用shell脚本,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。使用方法将其复制,保存为一个shell文件,比如security.sh.将其上传到linu...
    99+
    2023-06-13
  • Linux系统如何创建Shell脚本
    这篇文章主要介绍了Linux系统如何创建Shell脚本,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1. 创建文件并编辑在目录中创建名为build.sh的shell脚本文件,...
    99+
    2023-06-28
  • Shell编程:如何在Linux上自动化任务?
    在Linux系统中,Shell是一种解释型的编程语言,可以通过Shell编程来实现自动化任务。Shell编程可以帮助我们完成一些重复性的工作,提高工作效率。本文将介绍如何在Linux上使用Shell编程来自动化任务。 一、Shell编程基...
    99+
    2023-09-10
    javascript shell linux
  • Shell脚本:如何优化系统负载?
    系统负载是计算机硬件的重要指标之一,它反映了系统处理任务的压力程度。当负载高时,系统的响应速度会变慢,甚至出现卡顿现象。在日常使用计算机时,我们经常会遇到负载高的情况,这时候如何优化系统负载成为了一个不可回避的问题。 本文将介绍几种常见的...
    99+
    2023-06-13
    load 面试 shell
  • 如何配置Shell脚本实现在Linux系统中自动安装JDK
    这篇文章主要介绍“如何配置Shell脚本实现在Linux系统中自动安装JDK”,在日常操作中,相信很多人在如何配置Shell脚本实现在Linux系统中自动安装JDK问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答...
    99+
    2023-06-09
  • 如何使linux shell实现守护进程脚本
    这篇文章主要讲解了“如何使linux shell实现守护进程脚本”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使linux shell实现守护进程脚本”吧!#! /bin/sh...
    99+
    2023-06-09
  • mysql中如何实现自动化脚本安装的shell脚本
    这篇文章将为大家详细讲解有关mysql中如何实现自动化脚本安装的shell脚本,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。脚本处理逻辑流程图    ...
    99+
    2024-04-02
  • 如何在麒麟操作系统上进行系统的自动化脚本和任务管理
    在麒麟操作系统上,可以使用以下方法进行系统的自动化脚本和任务管理:1. Shell 脚本:麒麟操作系统支持使用 Shell 脚本来编...
    99+
    2023-10-12
    麒麟操作系统
  • Nagios如何处理自动化任务和脚本执行
    Nagios本身并不直接处理自动化任务和脚本执行,但可以通过插件和脚本来实现自动化任务的监控和执行。 自动化任务监控:可以编写一...
    99+
    2024-03-15
    Nagios
  • shell脚本自动化如何创建虚拟机
    这篇文章主要介绍了shell脚本自动化如何创建虚拟机,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。自动化shell脚本ps:此处安装的jdk,maven,tomcat均在/o...
    99+
    2023-06-09
  • Shell脚本监控Linux系统CPU使用率
    通过top或者htop命令。可以看到每一个cpu核心的使用情况,但是服务器的整体cpu使用情况,就无法直观的看到。需要通过shell脚本才能实现。 cpu_ck.sh#/bin/bash #environment var...
    99+
    2023-01-31
    使用率 脚本 系统
  • 怎么在Linux中使用shell脚本定时维护数据库
    这期内容当中小编将会给大家带来有关怎么在Linux中使用shell脚本定时维护数据库,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。脚本需求如下:#数据库定时备份#备份路径BACKUP=/data/back...
    99+
    2023-06-09
  • 如何在AmazonAurora上配置自动化数据库维护任务
    在Amazon Aurora上配置自动化数据库维护任务可以通过使用Amazon RDS控制台或AWS CLI来完成。以下是配置自动化...
    99+
    2024-04-09
    AmazonAurora
  • linux如何自动化交互脚本expect
    这篇文章给大家分享的是有关linux如何自动化交互脚本expect的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、介绍expect脚本是Tcl脚本语言的拓展。用来实现自动的交互式任务,无需人为干预。在实际开发中...
    99+
    2023-06-07
  • Linux中VPS服务器如何依据系统资源自动重启bash shell脚本
    这篇文章给大家分享的是有关Linux中VPS服务器如何依据系统资源自动重启bash shell脚本的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。这里介绍有2种不同的操作:1、监控 linux 服务器负载及内存占用...
    99+
    2023-06-13
  • 怎么在Linux中使用shell脚本自动执行脚本文件
    本篇文章为大家展示了怎么在Linux中使用shell脚本自动执行脚本文件,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、定时复制文件  a、在/usr/local/wfjb_web_back目录下...
    99+
    2023-06-09
  • shell脚本如何自动创建用户
    这篇文章主要为大家展示了“shell脚本如何自动创建用户”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“shell脚本如何自动创建用户”这篇文章吧。shell脚本 自动创建用户详解需求:判断用户z...
    99+
    2023-06-09
  • 如何使用Shell脚本自动修改IP地址
    如何使用Shell脚本自动修改IP地址,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。#!/bin/sh #auto Change ip&nbs...
    99+
    2023-06-09
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作