- 浏览: 2543247 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (676)
- linux运维 (157)
- php (65)
- mysql (78)
- nginx (27)
- apche (18)
- framework (6)
- windows (9)
- IDE工具 (23)
- struts2 (7)
- java (13)
- 移动互联网 (14)
- memcache redis (23)
- shell基础/命令/语法 (37)
- shell (50)
- puppet (4)
- C (11)
- python (9)
- 产品经理 (27)
- Sphinx (4)
- svn (12)
- 设计构建 (12)
- 项目管理 (44)
- SEO (1)
- 网站架构 (26)
- 审时度势 (42)
- 网络 (14)
- 激发事业[书&视频] (81)
- 其它 (12)
- 摄影 (8)
- android (21)
最新评论
-
zhongmin2012:
原文的书在哪里
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器 -
renzhengzhi:
你好,请问个问题,从master同步数据到slave的时候,s ...
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器 -
ibc789:
你好,看了你的文章,我想请教个问题, 我在用 redis的时候 ...
redis 的两种持久化方式及原理 -
iijjll:
写得非常好
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器 -
iijjll:
写得非常好
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器
-------------------要求算出jack和tom的2科的平均分 用shell实现。
cat 1.txt
jack huaxue 90
tom huaxue 70
jack shuxue 99
tom shuxue 80
awk 很好实现 awk '{a[$1]+=$3}END{for (i in a)print i,a[i]/2}' aa
-----------------企业运维面试题 分享 大家看看自己会多少
1、在bash shell里 $0 $? $* $@ 各表示什么意思?
2、当IO出现瓶颈时,应看哪个参数,为什么?
3、怎么查看内存使用情况?看到swap使用量大时,是不是意味着物理内存已不够用?
4、在/var/log下拷贝小于100K的文件到/tmp下,如果有失败的发送邮件到,用shell/perl/python来实现。
5、简述智能DNS的工作原理及CDN的作用
6、根据下面的信息提取每个人的总分 输出到/home/total.txt
oldboy 15 98
kqzj 23 87
wodi 16 89
7、主机CPU是 2×4核 内存16G 怎么配置mysql
8、监控MYSQL复制,如出现停止、不同步时发邮件到。
9、在不影响MYSQL正常服务的情况下,如何导出MYSQL数据。
------------------------要求如下:
写一段完整的shell脚本,完成如下功能:1
查找出/home/目录下的修改时间最新的文件并把这个文件名保存在/usr/temp/temp.txt文件中;2 把/home/目录下的名称为1.
tar.gz文件(假定已经存在)copy到/usr/temp目录中并解压;3 然后删除/home/目录下的2.txt文件(假定已经存在)。
脚本如下:
#!/bin/bash
cd /home/
ls -t|head -1>/usr/temp/temp.txt
cp /home/1. tar.gz /usr/temp/
cd /usr/temp
tar xvfz 1.tar.gz
yes|rm /home/aa/2.txt
还有一个方法:
#!/bin/bash
cd /home/
$1=``find . -type f -exec stat -c "%y %s %n" {} \;|sort -r|head -1|awk '{print $5}'|awk -F / '{print $2}'
echo $1 > /usr/temp/temp.txt
cp /home/1. tar.gz /usr/temp/
cd /usr/temp
tar xvfz 1.tar.gz
yes|rm /home/2.txt
在此感谢
广州-木易水瓶(407298685)提出的ls -t|head -1>/usr/temp/temp.txt
{广州}小丑鱼(422208864)得出的-t sort by modification time
这个比我自己写的简单多了
--------------------------shell脚本监控mysql服务器状态
目的:
1.监控mysql服务器的状态
2.当发现mysql down机就自动重启mysql服务
3.重启mysql不成功,发邮件给管理员警告mysql down机
说明:mysql取用的是3306端口,知道这点我们就好去监控mysql服务状态了,我的脚本就是通过3306端口监控mysql服务的……
#!/bin/sh
cat << EOF
+--------------------------------------------------------------------------+
| === Welcome to LinuxTone=== |
|-------------------------http://www.linuxtone.org------------------------ |
+-------------------------------By:hamgua----------------------------------+
EOF
PORT=`netstat -na|grep "LISTEN"|grep "3306"|awk -F[:" "]+ '{print $5}'`
MYSQLIP=`ifconfig eth0|awk '/inet/{print $2}'|cut -c 6-`
while [ `whoami` == "root" ]
do
if [ "$PORT" == "3306" ];then
echo "mysql is running......"
else
echo "restart mysql"
/etc/init.d/mysqld restart
if [ "$PORT" == "3306" ];then
echo "mysql restart successful......"
else
echo "mysql restart failure......"
echo "server: $MYSQLIP mysql is down,please try to restart mysql!" > /var/log/mymsg
mail -s "warn!server: $MYSQLIP mysql is down" hamgua\@gmail.com < /var/log/mymsg
fi
fi
break
done
赋予check_mysql.sh可执行的权限
#chmod u+x /usr/local/sbin/check_mysql.sh
加入crontab,让系统五分钟检测一次mysql状态
#crontab -l
…………
*/5 * * * * /usr/local/sbin/check_mysql.sh > /dev/null 2>&1
------------------------------------------shell脚本检查memcache进程并自动重启
#!/bin/sh
#check memcache process and restart if down
mm_bin="/usr/local/bin/memcached"
mm_log="/home/xxx/memcached_check.log"
mm_ports=("11211" "11212")
mm_param=("-d -m 20480 -p 11211 -u www" "-d -m 256 -p 11212 -u www")
mm_count=${#mm_ports[@]}
t=$(date -d "today" +"%Y-%m-%d %H:%M:%S")
i=0
while [ $i -lt $mm_count ]
do
mm_exists=`ps -ef|grep "memcached"|grep "${mm_ports[$i]}"|grep -v grep|wc -l`
if [ "$mm_exists" == "0" ]; then
${mm_bin} ${mm_param[$i]} 2>&1 > /dev/null &
echo "${t} : ${mm_bin} ${mm_param[$i]}" >> ${mm_log}
fi
let i++
done
===============================================================
添加为自动执行:
#crontab -e
*/10 * * * * /bin/sh /home/xxx/memcached_check.sh
系统每10分钟会自动执行memcached_check.sh
-------------------------------------------------------------
备用shell语句:
#检查mysql状态
PORT=`netstat -na | grep "LISTEN" | grep "3306" | awk '{print $4}' | awk -F. '{print $2}'`
if [ "$PORT" -eq "3306" ]
#检查mysql占CPU负载
mysql_cpu=`top -U root -b -n 1 | grep mysql | awk '{print $10}'|awk -F. '{print $1}'`
#如果mysql cpu负载大于80,则重启mysql
if [ "$mysql_cpu" -ge "80" ]
#获得相关信息
ps -ef|grep "memcached"|grep -v "grep"|wc -l
ps -ef|grep "memcached"|grep "11211"|grep -v "grep"|wc -l
ps aux|grep "memcached"|grep -v "grep"|awk '{sum+=$4;n++};END{print sum}'
ps aux|grep "memcached"|grep -v "grep"|awk '{printf $1}'
MYPORT=`netstat -na|grep "tcp"|grep "3306"|awk
-F[:" "]+ '{print $5}'`
HAPORT=`netstat -na|grep "udp"|grep "694"|awk -F[:" "]+ '{print $5}'`
PING=`ping -c 5 www.linuxtone.org|awk -F, '/packets/{print $3}'|cut -c 2-|awk '{print $1}'`
DB1IP=`ifconfig eth0|awk '/inet/{print $2}'|cut -c 6-`
----------------------------------------------------------------------------
shell if语句的一些资料:
–b 当file存在并且是块文件时返回真
-c 当file存在并且是字符文件时返回真
-d 当pathname存在并且是一个目录时返回真
-e 当pathname指定的文件或目录存在时返回真
-f 当file存在并且是正规文件时返回真
-g 当由pathname指定的文件或目录存在并且设置了SGID位时返回为真
-h 当file存在并且是符号链接文件时返回真,该选项在一些老系统上无效
-k 当由pathname指定的文件或目录存在并且设置了“粘滞”位时返回真
-p 当file存在并且是命令管道时返回为真
-r 当由pathname指定的文件或目录存在并且可读时返回为真
-s 当file存在文件大小大于0时返回真
-u 当由pathname指定的文件或目录存在并且设置了SUID位时返回真
-w 当由pathname指定的文件或目录存在并且可执行时返回真。一个目录为了它的内容被访问必然是可执行的。
-o 当由pathname指定的文件或目录存在并且被子当前进程的有效用户ID所指定的用户拥有时返回真。
UNIX Shell 里面比较字符写法:
-eq 等于
-ne 不等于
-gt 大于
-lt 小于
-le 小于等于
-ge 大于等于
-z 空串
= 两个字符相等
!= 两个字符不等
-n 非空串
------------------------------------------------------------
crontab 的一些资料:
基本格式:
* * * * * command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用 * 或 */1 表示,*/10表示每10分钟
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
发表评论
-
Linux运维常用命令 (转载)
2013-01-31 10:23 25311 删除0字节文件find-type f - ... -
[汇总]shell笔试
2013-01-24 17:32 3372http://president.blog.51cto.co ... -
检测 mysql 的sleep进程数
2013-01-04 14:13 1671#!/bin/sh 注:这个脚 ... -
【汇总】shell show收藏
2012-11-29 14:03 1289================== shell从文本取对应的 ... -
Shell中脚本变量和函数变量的作用域
2012-11-28 16:21 1379在shell中定义函 ... -
开发自动化系统管理脚本(界面式shell)
2012-11-28 16:00 1325此工具具有如下功能: (一)用户管理 1、修改root密码 ... -
你可能不知道的Shell
2012-11-26 13:41 1012!$ !$是一个特殊的环境变量,它代表了上一个命令的 ... -
批量修改远程linux服务器密码
2012-11-14 17:49 1537#!/bin/bash # BY kerryhu # MA ... -
清理/var/spool/clientmqueue目录下文件
2012-11-08 10:52 1145今天遇到和原文作者完全一样的情况:有一台机器需要改一下cron ... -
read case
2012-11-01 16:55 975read -p "请输入安装程序编号:" ... -
shell实现将2个文件逐行交替存入一个文件中
2012-10-24 15:31 1618#!/bin/bash P ... -
关于shell脚本编程的10个最佳实践
2012-09-20 11:37 1561每一个在UNIX/Linux上工作的程序员 可能都 ... -
导出bin log时间段脚本datarecover.sh
2012-09-06 13:34 1248修改 _binlogdir='/data/mysql/m ... -
增量文件内容other.php
2012-08-31 16:13 1199#增量文件内容other.php i ... -
Linux一个简单的每秒执行命令shell脚本
2012-08-17 15:02 3373迁移了一台服务器,发现其中一个项目的数据没有更新,查询原服务器 ... -
[sh]php进程数过载后,平滑重启php
2012-07-27 11:24 3005#vim /usr/local/shell ... -
[sh]每天推送本地日志到log服务器
2012-07-27 11:24 1433#vim /u1/scp_all_logs ... -
慢查询日志分析脚本Mysql_slow_log_parser.pl
2012-07-03 13:43 1513使用方式: ./Mysql_slow_log_parser ... -
UNIX高手的20个习惯
2012-06-29 12:02 14261. 在单个命令中创建目 ... -
【书】linux shell 脚本攻略
2012-06-27 17:39 1925转载:http://jackyrong.iteye.com/b ...
相关推荐
本文档汇总了109个实用的Shell脚本实例,涵盖了多个应用场景,包括系统管理、网络监控、数据库备份等。下面将详细讨论其中几个关键脚本。 1. Dos攻击防范(自动屏蔽攻击IP): 这个脚本通过分析Nginx的访问日志...
shell脚本编程学习笔记汇总 本文档总结了 Linux shell 脚本编程的学习笔记,涵盖了 shell 脚本的定义、编写、权限、存放位置、函数、变量、IF 控制语句、命令退出状态等知识点。 一、shell脚本的定义 shell 脚本是...
从提供的文件内容来看,这是一本关于Shell脚本编程的实战教程书籍,以实例的方式教授读者如何使用Shell脚本来完成各种Linux系统运维任务。下面将详细介绍从给出的内容中能够总结出的一些Shell脚本编程知识点。 首先...
本篇文档主要介绍了一个`Shell`脚本实例,用于一键查询分布在多台服务器上的日志,假设所有服务器之间已经设置了免密登录。 首先,这个脚本的目标是为了避免手动登录每台服务器进行日志检查。在50台服务器的情况下...
### Shell 必学必会命令 #### 一、Shell 快速入门 ##### 1.1 运维 运维(Operation and Maintenance, O...以上内容是Shell学习的基础与进阶知识汇总,通过掌握这些内容,可以更好地进行运维自动化、脚本编写等工作。
- **日志分析工具**:编写用于解析和汇总日志文件的 Shell 脚本,帮助管理员快速定位问题。 ### 结论 通过学习《Learning Linux Shell Scripting》这本书,读者不仅可以掌握 Shell 脚本的基本语法和编程技巧,还能...
在Shell脚本中,AWK可以用来处理复杂的数据操作,而无需编写完整的程序。 "awk编程实例"意味着这个压缩包特别关注AWK的实际应用,提供了一系列的编程示例,帮助用户理解和掌握AWK的使用技巧。这些实例可能涵盖简单...
学习完此例子后,你能掌握MapReduce基础编程,及如何编译Java文件,打包jar文件,编写shell执行脚本等。后续学习还可以参看本人的CSDN博客,如有问题也可以在线为你解答,不过本人也学习Hadoop不足一年,现学现卖...
在Shell脚本中,awk是一种强大的文本分析工具,它能够处理和解析文件中的数据,尤其在处理结构化数据时非常有效。awk的工作原理是逐行读取输入文件,然后对每一行执行用户定义的指令。下面我们将深入探讨awk指令在...
sed 命令是利用脚本来处理文本文件,可以依照脚本的指令来处理、编辑文本文件,主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。 sed 实例选项介绍: * `-n`:静默输出,一般和 `p` 一起...
本文将深入探讨脚本的使用,并结合"日常使用脚本总结汇总"这个主题,分享一些常见的脚本知识和应用实例。 首先,我们要理解什么是脚本。脚本是一种非编译型的编程语言,如Bash、Python、JavaScript等,它们通常用于...
- **Shell Script实例**:提供实际应用中的Shell Script示例,帮助理解具体应用场景。 - **grep简介**:介绍grep命令的基本用法和正则表达式的基础知识。 #### 七、参考资料 推荐一些关于Shell Script的书籍和其他...
前言 前几天在干活的时候遇到一个需要解析处理xml文件的一个需求,当时考虑到逻辑比较复杂,因此用...因此不得已,研究了一波用shell脚本解析xml的方法。 说到底,shell还是不太适合处理复杂的逻辑,但是对于一些简单
作者通过实例向读者展示了脚本编写、数据库连接、命令执行和结果处理等多个方面的知识。这不仅对从事Windows系统管理和数据库维护的IT人员具有实际指导意义,也对于初学者来说是一个很好的学习样本。
我们在日常工作中,对于求字符串操作在shell脚本中很常用,实现的方法有很多种,下面就来给大家归纳、汇总了求字符串的几种可能方法,话不多说了,来一起看看详细的介绍吧。 方法如下: 【方法一】:利用${#str}来...
2. "Classic Shell Scripting.rar" - 这可能是一本关于经典Shell脚本编程的教程,虽然直接与Rails框架无关,但在Unix/Linux环境下进行Web开发时,熟悉Shell脚本可以帮助开发者更高效地管理文件、自动化任务,甚至...
这个"VBS例子汇总"包含了丰富的VBS脚本实例,可以帮助用户深入理解和掌握VBS的使用。 VBS脚本的特点在于其简单易学、语法直观。在描述中提到的教程中,你可能会学习到以下关键知识点: 1. **基本语法**:VBS使用缩...
8. **Shell脚本编程**:Bash Shell是Linux中最常见的Shell,编写Shell脚本可以自动化重复任务,提高工作效率。学习条件语句、循环、函数和变量等基本概念是编写脚本的基础。 9. **系统日志与监控**:了解`dmesg`...
4. **JMeter与VMSS的集成**:学习如何在Shell脚本中使用Azure SDK或CLI命令来启动、停止或扩展VMSS实例,并在这些实例上分发JMeter测试。 5. **分布式测试**:了解JMeter的分布式测试模式,如何配置服务器和代理,...