在运维中的shell经验总结】的更多相关文章

来自良许Linux公众号 编写 脚本开头部分应有脚本功能说明.参数使用说明.作者姓名.创建/修改日期.版本信息,格式为: 脚本编写时,注意格式对齐,如所有的循环或者判断语句前后的语句进行对齐,以及case的选取完全 脚本开头执行时,执行如下命令,在执行过程中若遇到使用了未定义的变量或命令返回值为非零,将直接报错退出: 建议将命令行的每个参数放在单引号.双引号中,特别是rm.mv等可能对生产现有数据造成修改的操作,建议使用垃圾箱策略:rm操作转意为mv操作,制定文件保存目录,以防回退,并定期清理:…
对于Oracle运维中的那些事儿,我的最终目的:不是比谁更惨,而是能够从中吸取经验和教训. 从我的理解来看,我会从下面的几个方面来进行说明DBA运维中的一些事儿. 每个部分都是非常关键的,缺一不可,而且每一部分都有很多的东西可以细化,我会逐一展开来说. (一)环境篇 首先来说说环境篇. DBA的角色及分工 对于DBA的分工,以前的公司对于DBA角色划分粒度还是很细的. 大体是按照核心和客户化定制层来划分的,核心层主要负责产品化,客户化层面主要负责定制.属于不同的产品线但又彼此紧密关联. Phys…
     AutoHotkey是一个自由.开源的宏生成器和自动化软件工具,它让用户能够自动执行重复性任务.AutoHotkey可以修改任何应用程序的用户界面(例如,把默认的Windows按键控制命令替换为Emacs风格).[它是由定制的脚本语言驱动,旨在提供键盘快捷键或热键.      运维中会遇到很多繁琐而重复性的界面操作,AutoHotkey可以很好且灵活的帮助运维人员进行重复操作. 1,下载地址 http://l.autohotkey.net/AutoHotkey_L_Install.ex…
在linux日常运维中,我们平时会用到很多常规的操作命令. 下面对常用命令进行梳理: 命令行日常系快捷键(不分大小写)CTRL + A 移动光标到行首CTRL + E 移动光标到行末CTRL + U 剪切光标前的内容CTRL + K 剪切光标至行末的内容CTRL + Y 粘贴CTRL + S 锁住当前终端CTRL + Q 解锁CRTL + T 将光标所在当前字符移到前一个字符的前面CRTL + W 删除光标前面的内容Shift + Insert 向终端内粘贴文本ESC + . 显示上一条命令的最…
i春秋作家:yanzm 原文来自:安全运维中基线检查的自动化之ansible工具巧用 前几周斗哥分享了基线检查获取数据的脚本,但是在面对上百台的服务器,每台服务器上都跑一遍脚本那工作量可想而知,而且都是重复性的操作,于是斗哥思考能不能找到一种方法来实现自动下发脚本,批量执行,并且能取回执行的结果.对比参考学习某些开源的平台都有这么一个特点就是需要安装客户端(说白了就是类似后门木马的插件),客户端的兼容性适应问题不说,而且全部服务器都要装相应的客户端,明显超出斗哥预期的轻量级的实现自动化的初衷,但…
漫谈ELK在大数据运维中的应用 圈子里关于大数据.云计算相关文章和讨论是越来越多,愈演愈烈.行业内企业也争前恐后,群雄逐鹿.而在大数据时代的运维挑站问题也就日渐突出,任重而道远了.众所周知,大数据平台组件是很复杂的.而这庞大的系统整合问题,对于运维来说是很头疼的.所以,在大数据时代下的运维问题是日渐尖锐. 有人把运维比作医生给病人看病,那么日志则是病人对自己的陈述.所以只有在海量分布式日志系统中有效的提取关键信息,才能对症下药.如果能把这些日志集中管理,并提供全文检索功能,不仅可以提高诊断的效率…
分布式系统的节点之间常采用心跳来维护节点的健康状态,如yarn的rm与nm之间,hdfs的nn与dn之间.DataNode会定期(dfs.heartbeat.interval配置项配置,默认是3秒)向namenode发送心跳,如果Namenode长时间没有接受到datanode发送的心跳,我们在50070的nn管理界面上就会看到它的lastcontact字段越来越大,至到最后变为dead,namenode就会认为该DataNode失效. ClientProtocol.sendHeartBeat方…
简单的自动化运维工具(shell+except+whiptail+功能模块化函数+循环) http://www.cnblogs.com/M18-BlankBox/p/5881700.html…
对于Linux系统安全来说,日志文件是极其重要的工具.不知为何,我发现很多运维同学的服务器上都运行着一些诸如每天切分Nginx日志之类的CRON脚本,大家似乎遗忘了Logrotate,争相发明自己的轮子,这真是让人沮丧啊!就好比明明身边躺着现成的性感美女,大家却忙着自娱自乐,罪过!logrotate程序是一个日志文件管理工具.用于分割日志文件,删除旧的日志文件,并创建新的日志文件,起到“转储”作用.可以节省磁盘空间.下面就对logrotate日志轮转操作做一梳理记录: 1)配置文件介绍Linux…
对于Linux系统安全来说,日志文件是极其重要的工具.不知为何,我发现很多运维同学的服务器上都运行着一些诸如每天切分Nginx日志之类的CRON脚本,大家似乎遗忘了Logrotate,争相发明自己的轮子,这真是让人沮丧啊!就好比明明身边躺着现成的性感美女,大家却忙着自娱自乐,罪过!logrotate程序是一个日志文件管理工具.用于分割日志文件,删除旧的日志文件,并创建新的日志文件,起到“转储”作用.可以节省磁盘空间.下面就对logrotate日志轮转操作做一梳理记录: 1)配置文件介绍Linux…
对于Linux系统安全来说,日志文件是极其重要的工具.不知为何,我发现很多运维同学的服务器上都运行着一些诸如每天切分Nginx日志之类的CRON脚本,大家似乎遗忘了Logrotate,争相发明自己的轮子,这真是让人沮丧啊!就好比明明身边躺着现成的性感美女,大家却忙着自娱自乐,罪过!logrotate程序是一个日志文件管理工具.用于分割日志文件,删除旧的日志文件,并创建新的日志文件,起到“转储”作用.可以节省磁盘空间.下面就对logrotate日志轮转操作做一梳理记录: 1.  配置文件介绍Lin…
如何做好一个合格的运工程师,运维工程师前景怎么样呢?就这些问题,与大家交流一下.首先对于运维工程师的要求是十分严苛的了,运维工程师不但要针对不同的问题做出响应,而且需要不断的补充自己的知识面,并不继提高自己的.与时俱进,不断学习新的技术. 在运维工程师初级阶段,合格优秀运维人员要休现出积极的主动性与责任心,在面对陌生的业务时,要主动快速的学习业务对认识,并拓展相应的知识范畴,以便能够足够胜任并做支独立维护.在这个阶段基础知识要十分炸实,并不断充实自己的.形成自己的知识体系. 在运维逐步的发展阶段…
回想起来,从事linux运维工作已近5年之久了,日常工作中会用到很多常规命令,之前简单罗列了一些命令:http://www.cnblogs.com/kevingrace/p/5985486.html今天在这里,详细总结下运维工作中常常用到的一些操作命令(依据本人使用经验而言): ----------文件系统结构和基本操作命令---------- chmod命令:改变权限 常用用法:chmod -R xxxx FILE 含义:设置文件或者目录的权限属性,加上R选项,表示递归设置目录下文件和目录的权…
1. 本地变量和环境变量 变量类型 定义形式 声明位置 显示命令 作用域 本地变量 VARNAME=value 命令行或shell脚本 set (显示所有变量) 本用户,本进程 环境变量 export VARNAME=value ~/.bash_profile (当前登陆用户有效)/etc/profile (所有登陆用户有效) env(仅显示环境变量) 所有用户所有进程 2. 脚本调试 法一 #!/bin/bash -x 法二 set -x 要调试的几行代码 set +x 3. 退出状态 exi…
写这一系列文章的动因很简单,在年前最后一个项目的时候在客户现场做了的几个安全加固.由于时间问题,很多东西就拿来主义没经过思考直接更改了,并未细细品味其中的原理和方法,所以特地搭建实验环境,分析下其中的原因,也帮助IT运维的同事在平时的安全巡检与维护中能够关注与理解一些运维上的安全问题.  FTP存在的安全问题 匿名访问 FTP匿名访问是FTP安全问题中最常见的问题,详情可以见wooyun.今天通过一天时间通过反复的复测,尝试,发现一个看似简单的FTP匿名访问实则存在很多隐藏的小坑.所以写出来帮助…
Apache 是一款使用量排名第一的 web 服务器,LAMP 中的 A 指的就是它.由于其开源.稳定.安全等特性而被广泛使用.下边记录了使用 Apache 以来经常用到的功能,做此梳理,作为日常运维笔记所用. 一.Apache的工作模式Apache 目前一共有三种MPM 模式(多进程处理模块),它们分别是prefork.worker.enent,主要用到前两种工作模式,且默认的工作模式是prefork.可以通过 httpd -V 来查看. [root@uatweb01 ~]# /usr/loc…
----------文本操作命令---------- sed命令:文本编辑工具 sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法 sed命令行格式为: sed [-nefri] 'command' 输入文本 常用选项: -n∶使用安静(silent)模式.在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上.但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(…
----------管理命令---------- ps命令:查看进程 要对系统中进程进行监测控制,查看状态,内存,CPU的使用情况,使用命令:/bin/ps (1) ps :是显示瞬间进程的状态,并不动态连续: (2) top:如果想对进程运行时间监控,应该用 top 命令: (3) kill 用于杀死进程或者给进程发送信号: (4) 查看文章最后的man手册,可以查看ps的每项输出的含义,to find: STANDARD FORMAT SPECIFIERS =================…
1.CentOS启动tomcat出现乱码的解决方案1.打开tomcat下的server.xml配置文件,在connect标签中添加编码属性:URIEncoding="UTF-8"2.在/etc/profile文件里加入:echo "export LC_ALL=en_US.UTF-8" >> /etc/profile执行命令后重新登录即可! 2.CentOS设置JDK环境变量,在/etc/profile设置 export JAVA_HOME=/root/d…
由于分布式系统的流行,服务器上面部署的项目都是多实例的.而我又希望有一个功能,当服务器出现异常情况能够自动重启实例. 所以我想到了使用shell脚本监控实例进程id,如果不存在的话,就重启对应的实例. 一.轮询监控实现: 1. 使用crontab,缺点一分钟轮询一次 2. 使用shell死循环进行轮询 参考:https://blog.csdn.net/u011261430/article/details/72921991 由于我们系统使用人数比较少,所以我选择crontab进行轮询 二.环境变量…
1.psutil是一个跨平台库(https://github.com/giampaolo/psutil) 能够实现获取系统运行的进程和系统利用率(内存,CPU,磁盘,网络等),主要用于系统监控,分析和系统资源及进程的管理. 2.IPy(http://github.com/haypo/python-ipy),辅助IP规划. 3.dnspython(http://dnspython.org)Python实现的一个DNS工具包. 4.difflib:difflib作为Python的标准模块,无需安装,…
1.into outfile 生成sql:一般都是生成文本或者其他形式的文件,现在需要生成sql形式的文件.配置文件加secure_file_priv=''select concat('insert into tab_name(id,name,age) values(',id,',','\'',name,'\'',',','\'',age,'\'',');') into outfile '/tmp/tab_name.txt' from tab_name; create table tab_nam…
一,awk的作用 1,用途 AWK是一种处理文本文件的语言, 是一个强大的文本分析工具 2,awk和sed的区别 awk适合按列(域)操作, sed适合按行操作 awk适合对文件的读取分析, sed适合对文件的编辑 说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest 对应的源码可以访问这里获取: https://github.com/liuhongdi/ 说明:作者:刘宏缔 邮箱: 371125307@qq.com 二…
场景一:文件系统使用率很高,但是找不到具体哪个文件占用了空间 原因:在unix系统中,如果有两个进程同时使用一个文件,如果其中一个进程删除了这个文件,但是这个文件此刻不会正真被释放,一直要等待引用它的所有进程都释放后才会正真被删除,那么如果别的进程一直在向这个文件写数据,就会造成文件系统很大,但是用普通命令找不到 测试: Testlsof.sh #!/bin/sh cnt=1 while (( cnt < 1000 )) do echo " TEST lsof command "…
一.终端中常用的快捷键 man界面中的快捷键: ?keyword                 向上搜索关键词keyword,n向下搜索,N继续向上搜索 /keyword   向下搜索关键词keyword,n继续向下搜索,N向上搜索 q 退出man页面 二.指令 1.shutdown          重启或关机 shutdown 是一个用来安全关闭或重启Linux 系统的命令,系统在关闭之前会通知所有的登录用户,系统即将关闭,此时所有的新用户都不可以登录,与shutdown 功能类似的命令还…
第9章 linux中目录结构 9.1 linux中的常见目录和解释说明 ID 目录 说明 1 bin 命令文件保存的地方 2 sbin 只有root用户才可以使用的命令 3 Boot(了解即可) Linux程序启动的时候信息保存的目录 4 dev 设备文件存在的目录 5 etc 文件配置信息和服务配置信息存在的目录 6 home 用户所在的目录(普通用户家目录) 7 root 用户所在的目录(超级管理员所在的家目录) 8 selinux: 保存selinux程序配置文件信息和系统安全相关程序 9…
前言 file是一个类,使用file('file_name', 'r+')这种方式打开文件,返回一个file对象,以写模式打开文件不存在则会被创建.但是更推荐使用内置函数open()来打开一个文件. 首先open是内置函数,使用方式是open('file_name', mode, buffering),返回值也是一个file对象,同样,以写模式打开文件如果不存在也会被创建一个新的. f=open('/tmp/hello','w') #open(路径+文件名,读写模式) #读写模式:r只读,r+读…
1.psutil是一个跨平台库(https://github.com/giampaolo/psutil)能够实现获取系统运行的进程和系统利用率(内存,CPU,磁盘,网络等),主要用于系统监控,分析和系统资源及进程的管理.2.IPy(http://github.com/haypo/python-ipy),辅助IP规划.3.dnspython(http://dnspython.org)Python实现的一个DNS工具包.4.difflib:difflib作为Python的标准模块,无需安装,作用是对…
故障案例: 发现故障:kubectl get pod -n kube-system -owide|grep -v "Running"NAME READY STATUS RESTARTS AGE IP NODEpod-jljz6 0/1 ImagePullBackOff 0 4d 10.222.96.191 paasn5 查询pod详细信息kubectl describe pod pod-jljz6 -n kube-system ....Events: Type Reason Age F…
运维第一工具-shell编程 shell历史 Shell的作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行一条,这种方式称为交互式(Interactive),Shell还有一种执行命令的方式称为批处理(Batch),用户事先写一个Shell脚本(Script),其中有很多条命令,让Shell一次把这些命令执行完,而不必一条一条地敲命令.Shell脚本和编程语言很相似,也有变量和流程控制语句,但Shell脚本是解释执行的,不需要编译,Shell程序从脚本中一行一行读取并执行这些命令…