导航:首页 > 操作系统 > linux优化脚本

linux优化脚本

发布时间:2022-10-02 11:48:53

1. linux运维是做什么工作的,

楼主您好!

linux运维岗位描述:
1、对linux下各种网络服务、应用系统、监控系统等进行自动化脚本开发的工作,并根据项目对系统进行性能优化;
2、负责网站项目中linux服务器的部署与维护,解决linux系统下版本兼容性问题;
3、精通linux操作系统,熟练部署和维护linux服务器以及在linux服务器上架设各种服务;
4、熟练编写shell
script脚本;
5、熟悉tcp/ip协议;
6、良好的英语读写能力,听说能力优秀者优先。
7、熟练lamp,lnmp以及mysql,oracle数据库维护

2. Linux里面set -e命令作用是什么

Linux里面set -e命令作用是,如果一个命令返回一个非0退出状态值(失败),就退出.

这个命令-e参数企业应用极少

set的“+” ,"-" 分别用于关闭或者打开某些特性;具体的特性有很多,这里介绍 -e 特性:

set -e ; 表示后续所有的bash 命令的返回code 如果不是0,那么脚本立即退出,后续的脚本将不会得到执行的机会;

set +e ; 这个是默认的状态,表示就算后续的命令如果返回值不是0,那么脚本依然向下执行;

所以 set -e其实就是从设置的位置起,给脚本的每一条命令加上了同一个退出条件;而set +e 则是取消这种设置;

看下面的例子:

[root@oldboy ~]# cat test.sh

#!/bin/bash

function lookupstr(){

grep "sles" /etc/os-release >/dev/null 2>&1

if [ "$?" -ne 0 ];then

echo -e "Can not find the 'sles' string in file. "

fi

}

echo "Below results based on: set +e"

set +e

lookupstr

echo "Below results based on: set -e"

set -e

lookupstr

[root@oldboy ~]# ./test.sh

Below results based on: set +e

Can not find the 'sles' string in file.

Below results based on: set -e

[root@oldboy ~]#

set -e option 可以帮助优化脚本

3. linux系统运维工作内容

Linux运维分为初级、中级、高级,级别不同负责的工作内容不同。
初中级运维的日常涉及工作:
1、评估产品需求及发展需求,设计网站架构。
2、选择IDC公司、云产品,CDN等产品。
3、采购服务器、安装系统、配置服务、服务器IDC上架。
4、调试网络、优化系统及服务。
5、上线代码、配合研发搭建环境、调试、测试代码。
6、监控硬件、软件及各种业务应用。
7、配置收集日志和,根据日志信息报警及优化系统及服务
8、解决日常问题,如硬件(服务器、交换机、硬件、网络等)、软件(网络服务)、各类业务服务故障。
9、编写自动化脚本(Shell、Python),自动化部署服务。
高级运维涉及的工作:
1、监控带宽、流量、并发、业务接口等关键资源及访问信息的变化趋势。
2、根据相应趋势变化不断优化网站架构。
3、设计各类解决方案,解决公司业务发展中的遇到的网站瓶颈。
4、编写各种自动化脚本(Shell、Python),自动化部署优化服务。
5、开发自动化部署和管理平台(CMDB),实现平台化运维。
6、开发运维管理平台、及运维工具产品,提升服务效率。
7、制定运维流程、规范、制度,并有序推进。
8、研究先进运维理念、模式,确保业务持续稳定、有序。

4. Linux运维每天都做什么工作

Linux运维每天主要负责的工作:
1.每天登陆系统查看系统运行的负荷如何,有无报错日志或报警日志。
2.操作系统故障排除,依据操作系统故障日志分析出现该报警或报错的原因,从而解决问题,保证操作系统的高可用性。
3.服务器状态确认,服务器上除了跑着操作系统,必然会安装一些应用程序或数据库,运维工程师每天需要查看linux系统上运行着的应用程序或数据库状态是否正常。
4.备份,运维工程师的看家本事,数据库备份和恢复,一般来说只要给数据库制定了备份策略它会自己备份,你只需要监控备份任务是否执行了就可以。
5.服务器调优,这个要求就比较高了,linux随着使用时间的增长,状态会有所下降,运维工程师有能力的可以对操作系统及数据库进行性能调优,保证系统处于一个最佳状态。

5. 在Linux下数据库中怎样设定一个时间自动执行一个shell脚本文件,例如:auto.sh

Linux数据库应该是无法执行shell脚本的,应该是Linux系统下执行shell脚本吧。
直接在linux下输入crontab -e,然后配置一段代码如下:
01 8 * * * /bin/bash path(你的文件目录)/auto.sh
前五位没记错的话应该分别对应分钟,小时,日,月,星期。
如果你希望保存日志的话可以用输出重定向,如下:
01 8 * * * /bin/bash path(你的文件目录)/auto.sh > /tmp/auto.log 2 > &1 &
这样如果文件执行错误的话,你可以去/tmp目录下去查询错误日志,便于程序的优化。
关于crontab的详细介绍给你个传送门:
http://www.jb51.net/LINUXjishu/19905.html
我也是菜鸟,共同学习共同进步,祝好。

6. 让Linux系统保持活力的优化脚本

    笔者从生产系统上和网络资料上总结出几种优化脚本,脚本从磁盘和内存方面入手,让Linux系统保持活力。特别是第三种清理缓存释放内存,可以结合笔者以前的文章-Linux健康检查脚本health-check-script来做进一步的包装,特别是在做大量数据备份之后,完成自动检测和清理工作。

    下面的delete_data函数中的三条命令可以完成目录下所有文件、log文件和log.gz文件按过期时间清理。

delete_data()

{

    delete_time=$1

    #清理目录下所有过期文件

    find /home/pi/log/ -mtime +$delete_time -exec rm -r {} \;

    #清理目录下.log过期文件

    find /home/pi/log/  -mtime +$delete_time -name '*.log' -exec rm -r {} \;

    #清理目录下.log.gz过期文件

    find /home/pi/log/  -mtime +$delete_time -name '*.log.gz' -exec rm -r {} \;

}

2.1目录下文件单独压缩打包

#将/home/pi/log/目录下的.log文件打包成.gz文件,

find /home/pi/log/  -name '*.log' -exec gzip -f {} \;

运行测试,默认gzip 会删除源文件,并生成xx.gz文件。

zcat  filename.gz  可以直接查看文件内容。gunzip –c filename.gz  可以解压缩并保留源文件,但是解压后显示在标准输出上,没有解压后文件。gunzip -cv filename.gz > filename ,可以保留源文件和压缩后文件,-v是显示进度。压缩保留源文件是 gzip  -cv filename > filename.gz 。

2.2目录下文件以前一起打包压缩

    gzip无法压缩文件夹,仅用于压缩单个文件,要压缩文件夹,应该使用tar + gzip ,即是tar -z。

#将log目录下的文件打包并以时间命令,打包后以 gzip 压缩

tar -zcvf  $(date +%Y%m%d%H%M%S)log.tar.gz log/

tar -ztvf log.tar.gz可以查看包内有哪些文件。

tar -zxvf 20210219143137log.tar.gz         解压缩到当前目录

tar  -zxvf  20210219143137log.tar.gz  -C  log2/  将包解压到log2目录下。

    频繁的文件访问(特别是数据备份后)会导致系统的Cache使用量大增。sysctl命令用于运行时配置内核参数,这些参数位于/proc/sys目录下。

    这里我们来看一下 buff/cache的作用。

    buffer指Linux内存的 缓冲区缓存 Buffer cache,cache指Linux内存中的 页面缓存 Page cache。

    Cache(Page cache,页面缓存): 主要用来作为文件系统上的文件数据的缓存来用,尤其是针对当进程对文件有read/write操作的时候。

    Buffer(Buffer cache,缓冲区缓存): 主要是针对块设备进行缓存的,比如当我们对一个文件进行写操作的时候,page cache的内容会被改变,而buffer cache则可以用来将page标记为不同的缓冲区,并记录是哪一个缓冲区被修改了。这样,内核在后续执行脏数据的回写(writeback)时,就不用将整个page写回,而只需要写回修改的部分即可。

    Linux内核会在内存将要耗尽的时候,触发内存回收的工作,以便释放出内存给急需内存的进程使用。怎么手动清除呢?修改/proc/sys/vm/drop_caches 的值。看看英语说明:

to free pagecache, use echo 1 > /proc/sys/vm/drop_caches;

to free dentries and inodes, use echo 2 > /proc/sys/vm/drop_caches;

to free pagecache, dentries and inodes, use echo 3 > /proc/sys/vm/drop_caches.

    即3可以释放所有类型的缓存。

  同时为了防止数据丢失,命令sync 将脏页的内容写回硬盘,但可能伴随着系统磁盘IO飙高。

  运行free -m命令,再运行下面的脚本中的命令,发现 buff/cache减少了21M。

7. linux下运行脚本时出现killed怎么解决

原因是由于内存溢出导致的:
当linux出现killed进程的时候,意味着整个系统的内存已经不足,如果不杀死进程的话,就会导致系统的崩溃。
解决办法:
1.增加系统内存,
2.是优化进程,使其占用内存降低。
3.是可以使用oom_score_adj参数,这个参数会被计算入oom_score,可以避免进程被杀死(不推荐使用)。

8. linux培训哪些比较好

嗯…………自我认为,如果你想把Linux学的深入,细致一点的话,我建议去学习马哥的课程,我之前就是和Linux完全处于一种陌生的关系中,不敢也不愿去接触,但是犹豫种种原因,以及一些巧合,我上了几节马哥的课程,十分系统,也十分幽默,于是便产生了兴趣,哈哈,所以良心推荐马哥的课程!!!

9. linux 脚本代码出现问题

[ $count -gt 0 ] 这个[]内部的两端都需要空格

10. 提高linux脚本cpu和内存使用率

linuxt提供了系统函数sysconf()用来读取CPU和内存信息,先来了解一下sysconf()函数吧。

头文件

#include<unistd.h>

函数原型

long sysconf (int name);

说明

sysconf() 返回选项 ( 变量) 的当前值,这个值可配置的但也是受系统限制的。在成功完成的情况下,sysconf() 返回 变量的当前值。该值受到的限制将少于编译时 <limits.h>, <unistd.h> 或 <time.h> 中可用的对应值。大多数这些 变量的值在调用进程的生存时间内不变。
如果出错,那么函数返回 -1 ,并适当地设置 errno 。当没有错误发生时, -1 也是一个合法的返回值。因此,程序要检查错误,应该在调用 sysconf() 之前将 errno 设置为 0 ,然后,如果返回 -1,则检验到错误。
参数 name 指定我们感兴趣的运行时限制的名字,它必须是以值中之一(除非另有说明,否则返回值都是整数):
_SC_2_C_BIND : 一个布尔值,指出是否支持 POSIX C 语言绑定。返回值是 _POSIX2_C_BIND 。
_SC_2_C_DEV : 一个布尔值,指出是否支持 POSIX C 语言开发使用工具选项。返回值是 _POSIX2_C_DEV 。
_SC_2_C_VERSION : 它指出支持哪一个 ISO POSIX.2 标准 (命令) 的版本。返回值是 _POSIX2_C_VERSION 。
_SC_2_CHAR_TERM : 一个布尔值,指出是否至少支持一个 终端。返回值是 _POSIX2_CHAR_TERM 。
_SC_2_FORT_DEV : 一个布尔值,指出是否支持 FORTRAN 开发使用工具选项。返回值是 POSIX2_FORT_DEV 。
注意:1、 CLK_TCK 的值是可变的,因此,不应该假设它是一个 编译时间 常量。
2、调用 setrlimit 会使 OPEN_MAX 的值发生改变。
3、 通过将 sysconf (_SC_PHYS_PAGES) 和 sysconf (_SC_PAGESIZE) 相乘,来确定 物理内存的总量 (以 字节为单位) 可以返回一个值,该值超出 32 位进程中 long 或 unsigned long 可表示的最大值。同样适用于通过将 sysconf (_SC_PAGESIZE) 和 sysconf (_SC_AVPHYS_PAGES) 想乘,来确定未使用的 物理内存的总量 (以 字节为单位)。这个问题有两个工作区。第 1 个工作区将程序作为 64 位的进程进行编译 (从而使 long 足够大到可以容纳乘法运算的结果) ,但是,这样做的缺点是得到的程序只能在 64 位的内核中运行。第 2 个工作区是用来将得到的乘法运算结果存储在一个 64 位的量中,如 longlong_t (Solaris OS 类型) 或 long long (linux)。它的有点是可以在 32 位和 64 位的内核中正确工作。

阅读全文

与linux优化脚本相关的资料

热点内容
安卓源码编译输入脚本没反应 浏览:44
phpmysql自增 浏览:166
把ppt保存为pdf 浏览:533
汽车密封件加密配件 浏览:887
黑马程序员15天基础班 浏览:560
java调整格式 浏览:521
香港云服务器租用价 浏览:78
linuxsublime3 浏览:560
imac混合硬盘命令 浏览:277
沈阳用什么app租房车 浏览:857
00后高中生都用什么app 浏览:237
戴尔塔式服务器怎么打开独立显卡 浏览:807
医疗程序员招聘 浏览:597
住宿app可砍价是什么意思 浏览:133
java跳出语句 浏览:55
javastring个数 浏览:928
人工免疫算法应用 浏览:79
有什么app能收听俄罗斯广播电台 浏览:34
2015考研红宝书pdf 浏览:443
程序员几月跳槽合适 浏览:444