linux条件判断练习

1.实现自动生成相应的压缩包

1.写一个脚本,完成如下功能 传递一个参数给脚本,此参数为gzip、bzip2或者xz三者之一;
(1) 如果参数1的值为gzip,则使用tar和gzip归档压缩/etc目录至/backups目录中,并命名为/backups/etc-20160613.tar.gz;
(2) 如果参数1的值为bzip2,则使用tar和bzip2归档压缩/etc目录至/backups目录中,并命名为/backups/etc-20160613.tar.bz2;
(3) 如果参数1的值为xz,则使用tar和xz归档压缩/etc目录至/backups目录中,并命名为/backups/etc-20160613.tar.xz;
(4) 其它任意值,则显示错误压缩工具,并执行非正常退出;

[root@localhost ~]# mkdir /script #创建文件目录
[root@localhost ~]# vim /script/packageScript.sh 创建.sh脚本文件

#!/bin/bash
#读取用户输入的字符
read -p "请输入gzip/bzip2/xz,三者之一:" value 
#使用if语句进行判断
if [ "$value" = "gzip" ];then
        #通过tar命令和相关选项创建匹配后的相应格式的文件   ‘-C /’ 表示切换到/下 etc是相对于根的目                    
        #录文件
        tar -czf /backups/etc-20160613.tar.gz -C / etc
elif [ "$value" = "bzip2" ];then
        tar -cjf /backups/etc-20160613.tar.bz2 -C / etc
elif [ "$value" = "xz" ];then
        tar -cJf /backups/etc-20160613.tar.xz -C / etc
else
        #如果都不匹配则输出提示信息
        echo 错误压缩工具
        exit 1
fi

尝试测试


2.报警脚本

要求如下:
根分区剩余空间小于20%
发送告警邮件给自己
配合crond每5分钟检查一次脚本

[root@localhost script]# vim /script/warning.sh  #创建脚本文件

#!/bin/bash
#利用df命令获取根分区的内存使用情况
space=`df -h / | grep / | tr -s " " " " | cut -d " " -f 5 | tr -d %`
num=100
#利用if语句进行内存用量的判断
if [ $((num-space)) -lt 20 ];then
        #如果内存不足20%则发送邮件给自己
        echo 内存不足 | mail -s "linux警报" 1793151192@qq.com
fi

[root@localhost script]# crontab -e  #创建新循环任务每5分钟执行一次

*/5 * * * * /bin/sh /script/warning.sh

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/350443.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

1块9毛钱,修复拓牛TC1D智能垃圾桶盖子不能正常开合的故障

前言 21年9月份买了拓牛的智能垃圾桶,一直用的很流畅,再加上屋里没啥有机垃圾,也没有宠物,用上之后每次投入垃圾,之后都会盖上盖子,没有很多的异味散发,屋里也没有蟑螂等害虫。 再加上门口有帘…

Android开发学习-Activity

启停活动页面 1、启动和停止 startActivity(new Intent(原页面.this,目标页面.this)); startActivity(new Intent(this,ActFinishActivity.class)) 从当前页面回到上一个页面,相当于关闭当前页面,返回代码如下: finish(); 2、生命周期 …

鸿蒙:@Link装饰器-父子双向同步

子组件中被Link装饰的变量与其父组件中对应的数据源建立双向数据绑定。从API version 9开始,该装饰器支持在ArkTS卡片中使用。 需要注意:Link装饰的变量与其父组件中的数据源共享相同的值。Link装饰器不能在Entry装饰的自定义组件中使用。 一、装饰器使…

基于Python对二手车之家的数据采集与分析

1.1 用户需求 1.1.1 背景与现状 基于Python的二手车之家数据采集与分析的背景与现状分析 背景: 随着经济的发展和人们生活水平的提高,二手车市场逐渐兴起。二手车之家作为中国最大的二手车交易平台之一,提供了丰富的二手车信息&#xff0…

下载nacos 2.3 for arm64

客户组织安全测试,我们系统测出了好几个高危问题,其中大部分是关于nacos的。 原先的nacos版本太低了,是1.3的。现在(2024.01)已经是2.3了,应该装个新的。我们使用docker安装nacos,原本很简单的…

推荐几款便宜幻兽帕鲁游戏联机服务专用云服务器

随着互联网技术的发展,云服务器已经成为了许多游戏联机服务的首选。如果大家想要自行搭建幻兽帕鲁联机服务器,那么使用云服务器是一个很好的选择。下面,本文将推荐几款便宜幻兽帕鲁游戏联机服务专用云服务器。 幻兽帕鲁游戏对于服务器配置要求…

Windows 上面双网卡网络,配置为优先IPV4

多数网络游戏加速器是不支持IPV6的,即便支持IPV6也不好用,原因是IPV6在大陆并不是普及的状态,很多资源是没有的。 所以本文会教大家怎么让双IP栈的用户,怎么配置优先适用IPV4,并且IPV6也还可以用。 跟着我的步骤来&am…

互信息的简单理解

在介绍互信息之前,首先需要了解一下信息熵的概念:所谓信息熵,是指信息论中对一个随机变量不确定性的度量,对于随机变量x,信息熵的定义为: H ( x ) − ∑ x p ( x ) l o g p ( x ) H(x)-\sum_xp(x)logp(x) …

git安装步骤

安装环境:Windows10 64bit 下载 Git网址 :Git - Downloading Package 版本:Git-2.21.0-64-bit 第一步:双击下载后的Git-2.21.0-64-bit.exe,开始安装 安装开始 第二步:选择安装路径,点击[next]…

【云原生】Docker基于Dockerfile多级构建,实现缩小镜像体积

目录 一、基于上次的nginx的Dockerfile做多级构建 二、基于上次的php的Dockerfile修改做多级构建 三、基于上次的mysql的Dockerfile修改做多级构建 基于以上三个镜像构建 四、镜像体积是不是越小越好?为什么要缩减镜像体积? 五、缩小镜像体积的方法…

变相体罚的行为有哪些

你是否在无意中“伤害”了学生?每一位老师都如同辛勤的园丁,努力耕耘,期待花开。但在这个过程中,有些行为,虽不带皮肉之苦,却可能给学生的心灵留下难以愈合的创伤。今天,就让我们来谈谈这些隐蔽…

OpenHarmony—TypeScript到ArkTS约束说明

对象的属性名必须是合法的标识符 规则:arkts-identifiers-as-prop-names 级别:错误 在ArkTS中,对象的属性名不能为数字或字符串。通过属性名访问类的属性,通过数值索引访问数组元素。 TypeScript var x { name: x, 2: 3 };c…

2024最新幻兽帕鲁服务器多少钱一个?

幻兽帕鲁服务器多少钱?价格便宜,阿里云4核16G幻兽帕鲁专属服务器32元1个月、66元3个月,4核32G配置113元1个月、339元3个月;腾讯云4核16G14M服务器66元1个月、277元3个月、1584元一年。阿腾云atengyun.com分享阿里云和腾讯云palwor…

苹果笔记本MacBook电脑怎么卸载软件?三种方法快速卸载软件

苹果笔记本MacBook电脑是一款非常流行的电脑,但是有时候我们可能需要卸载一些不需要的软件。下面是一些简单的步骤,可以帮助您在MacBook电脑上卸载软件。 苹果笔记本MacBook电脑怎么卸载软件?三种实用方法快速卸载软件! 方法一&a…

【开源】基于JAVA语言的公司货物订单管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 客户管理模块2.2 商品维护模块2.3 供应商管理模块2.4 订单管理模块 三、系统展示四、核心代码4.1 查询供应商信息4.2 新增商品信息4.3 查询客户信息4.4 新增订单信息4.5 添加跟进子订单 五、免责说明 一、摘要 1.1 项目…

1. MySQL 数据库

本章内容 关系型数据库基础 安装 MySQL 管理数据库和表 用户和权限管理 函数,存储过程,触发器和事件 MySQL 架构 存储引擎 服务器选项,系统和状态变量 优化查询和索引管理 锁和事务管理 日志管理 备份还原 MySQL 集群 压力测试…

【星海随笔】unix 启动问题记录.

启动Ubuntu操作系统时,直接进入GRUB状态。 调试时候,曾显示 no bootable device no known filesystem detected 注意: 目前 GRUB 分成 GRUB legacy 和 GRUB 2。版本号是 0.9x 以及之前的版本都称为 GRUB Legacy ,从 1.x 开始的就称…

软件功能测试如何确定测试需求?CMA、CNAS软件测试报告获取

软件功能测试是为了验证软件的功能是否按照设计要求正常工作的过程,可以确保软件的质量,提高用户体验,也是保证软件安全和可靠性的重要一环。我们需要从多个角度对软件的各个功能模块进行测试,确保每个功能都能正常运行&#xff0…

75 C++对象模型探索。C++关于 虚函数表指针位置分析。C++ 面向对象和基于对象的概念。

如果一个类中,有虚函数,针对这个类会产生一个虚函数表。 生成这个类对象的时候,会有一个虚函数表指针,这个指针会指向这个虚函数表的开始地址。 我们本节就研究这个vptr指针。注意,vptr指针在 类对象中的位置。 证明…
最新文章