linux shell 编程 考试 我要思路就行,不用代码 具体到每步啥操作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux shell 编程 考试 我要思路就行,不用代码 具体到每步啥操作相关的知识,希望对你有一定的参考价值。

现某公司有一台服务器在网络中提供WEB等服务,服务器将7X24小时运行。
现要求对服务器编写shell脚本对服务器进行监控和优化。
1、将linux服务器中的日进行备份,备份的文件为 access.log、mail.log、messages、login.log、error.log、kern.log,dmesg。
2、将文件大于10M的文件进行处理,将位于名单列表中的文件进行备份,备份目录为/opt/bakup/log(该目录为外接硬盘/dev/sdb1的挂载点,现已将设备挂载到系统当中)。
3、然后将备份过的日志文件删除。
4、如果,文件大于10M且日志文件不在日志备份列表中,则直接将该日志文件删除。
5、如果备份文件总大小大于1000M时,将最老的文件进行删除。
6、监控/dev/sdb1磁盘的总使用量,当磁盘总使用量超过60%时,向管理员发出警告通知(该通知使用echo向屏幕输出一句提示信息即可)

我要思路就行,不用代码

参考技术A 使用脚本,各个功能定义一个function来实现,最后把所有的放到一个脚本里,使用crontab定时运行,或者是放在一个死循环里,每隔定时间段运行。 参考技术B 1.检测所有大于10M的文件and在名单列表中,全部tarbao不在列表中删除,然后删除备份好的,检测tarbao的大小大于1000M 列出备份目录下的文件删除,df 检测磁盘大小 任务计划放crontab本回答被提问者和网友采纳 参考技术C 你这个不就是思路吗 参考技术D 标记一下问题。 第5个回答  2012-03-23 ger

Linux之shell脚本编程

Linux之shell脚本编程

编程介绍

计算机编程的本质:输入运算输出

编译型语言:

程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言文件,运行时不需要重新翻译,直接使用编译结果就行。程序执行效率高,依赖编译器,跨平台性差些。如:C、C++、java

解析性语言:

程序不需要编译,程序在运行时由解析器翻译成机器语言,每执行一次都要翻译一次。因此效率比较低,比如:Python、JavaScript、Perl、Ruby、Shell等都是解析型语言

总结:

  • 编译型语言比解析型语言速度快,但是不如解析型语言跨平台性好

  • 编译型语言应用:底层开发、大型应用程序、操作系统开发

  • 解析型语言应用:一些服务器脚本、一些辅助的接口等对速度要求不高且对各个平台的兼容性有要求的

shell 介绍

下图是计算机操作系统的简易模型:

kernel:负责计算机底层硬件管理,内核只能识别二进制

shell:负责将用户执行的操作翻译成内核能够识别的二进制,让内核执行用户操作

user:用户在计算机上应用程序执行的操作

shell是一个程序,采用C语言编写,是用户于linux内核沟通的桥梁(shell是人机交互的桥梁)。它既是一种命令,又是一种解析型的编程语言

下图是shell沟通过程:

shell的种类:

shell种类说明:
	#l /bin/sh		=>	是bsae shell的一个快捷方式
	#l /bin/bash	=>	base shell 是大多数Linux默认的shell,包含的功能几乎涵盖shell所有种类

	#l /bin/noligin		=>	表示非交互,不能登录操作系统。一般用户给系统服务创建系统账号时使用
	
	#l /bin/dash		=>	小巧,高效,功能相对少一些
	
	#l /bin/csh			=>	具有C语言风格的一种shell,具有许多特性,但也有一些缺陷
	#l /bin/tcsh		=>	是csh的增强版,完全兼容csh
	


查看当前系统默认执行的shell:
	# echo $SHELL
		[root@server ~]# echo $SHELL
			/bin/bash

查看当前系统能够执行的shell:
	# cat /etc/shells
		[root@server ~]# cat /etc/shells
			/bin/sh
			/bin/bash
			/usr/bin/sh
			/usr/bin/bash
			/bin/tcsh
			/bin/csh

base shell 基本特性:

tab键:只能补全命令和文件名(按两次tab键会提示键入内容)

常见快捷键说明:

常见快捷键说明:^代表Ctrl键
	#l	^C		=>	终止前台运行的程序
	#l	^z		=>	将前台运行的程序挂起到后台

	#l	^d		=>	退出,等价 "exit"
	#l	^l		=>	清屏,等价 "clear"

	#l	^a |home		=>	光标移到命令行的最前端,直接按home键
	#l	^e |end			=>	光标移到命令行的后端,直接按end键	

	#l	^u		=>	删除光标前的所有字符
	#l	^k		=>	删除光标后的所有字符

	#l	^r		=>	搜索历史命令

shell 脚本编程介绍

shell脚本编程是什么?

就是将完成某个任务所执行的命令按照执行顺序保存到文本中,并给执行权限。以后需要执行该任务的时候,只需要执行该文件,计算机就会自动完成这个任务

shell编程能干什么?

解放双手,将复杂重复性的工作,全部通过脚本来完成。高效且不会出错

  • 根据企业架构自定义监控系统,量身打造企业级监控系统

  • 自动化 业务初始化部署系统,业务初始化全部一键搞定,省去繁琐的安装与排错,如安装LAMP和LNMP环境

  • 自动化一键备份

  • 自动化日志分析,繁琐 有复杂的日志分析通过shell脚本让机器去做

shell脚本命令

Linux基础命令

Linux之expect命令

shell编程之grep命令和egrep命令:行截取命令

shelll编程之xargs命令:上一个命令输出作为下一个命令的输入

shll编程之cut命令和tr命令:数据处理命令

shell编程之sort命令和uniq命令:数据排序去重命令

shell编程之tee命令和paste命令:数据输出命令

shell编程之shell字符

shell 编程基础知识

shell编程之shell脚本语法

shell编程之变量定义

shell编程之shell格式化输出

shell编程之shell 运算

shell编程之数组

shell编程之 if 判断语句

if 判断语句与shell运算

shell编程之流程控制-循环语句-for-while-until

shell编程之函数和case多条件分支语句

shell编程之正则表达式

shell编程之行编辑器 - sed 对文件进行操作

shell编程之awk(数据筛选与处理)

以上是关于linux shell 编程 考试 我要思路就行,不用代码 具体到每步啥操作的主要内容,如果未能解决你的问题,请参考以下文章

linux下c编程怎么编译

Linux之shell脚本编程

Linux之shell脚本编程

在Linux下,用shell编写一个简单的计算器,要实现加减乘除4个功能就行了

linux shell 如何行内排序

linux mysql操作