脚本分享-网站程序更新备份脚本
作为运维人员来讲,当程序员对程序有了更新或修改后,发布新版程序是在所难免的,既然要发布备份就更是关键的一步了,当然如果只有一台web或者只改动零星的几个文件,那备份起来还算容易。 但如果web是一组集群,十几台或者几十台,更新的文件很多,而且分放在不同的目录下,如果只靠人为更新,那工作量就很大了,而且还很容易出错,下面蚊子就分享一下自己写出来的备份更新脚本,有需要的朋友请根据自己的环境自行更改。 简单介绍一下我的脚本,首先我的web主目录是放在/data/wwwroot下,更新文件是一个zip的压缩包,放在/tmp/update/目录下,包中的内容我会要求程序员严格按照web主目录下的结构存放,便于脚步自动执行。 脚本会先把包中的所......阅读全文
Tags: shell, 备份, 更新, 脚本php的fastcgi启动停止重启脚本分享
#!/bin/bash # #fastcgi Start/Stop php-cgi # #write by wenzi at 2009-11-02 spawn_fcgid=/usr/local/php/bin/spawn-fcgi php_cgid=/usr/local/php/bin/php-cgi php_cgi_pid=/usr/local/nginx/logs/php-cgi.pid php_cgi_ip=127.0.0.1 php_cgi_port=9000 php_cgi_process_num=200 php_cgi_user=daemon php_cgi_group=daemon prog="php-cgi" # Source function library. . /etc/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. if [ "$NETWORKING" = "no" ]; ......阅读全文
Tags: fastcgi, php, php-cgi, spawn-fcgi, 脚本Expect 教程中文版[转]
蚊子最近一直在思考如何能更好的提高自己的运维效率,真正的实现无人干预或很少精力干预就完成希望的任务,目前蚊子面临的问题就是如何能快速高效准确的更新网站code,使用cfengine确实可以实现我想要达到的效果,但毕竟还得每台机器都进行cfengine的安装。关于cfengine可以看我之前的3篇文章,《cfengine学习笔记01》,《cfengine学习笔记02》,《cfengine学习笔记03》。 这两天在CU的shell讨论区闲逛,发现有人在讨论expect的问题,大概看了一下大家的问题和一些例子,发现expect脚本可以实现自动人机交互的工作,反正一些诸如自动登录等功能,当然这只是expect最基本的功能,但对蚊子来讲已经足够了。 网上关于expect的详细的文档真的不是......阅读全文
Tags: expect, shell, 交互操作, 非人为干预shell基础系列:awk 用法[转]
awk ' pattern {action} ' 变量名 含义 argc 命令行变元个数 argv 命令行变元数组 filename 当前输入文件名 fnr 当前文件中的记录号 fs 输入域分隔符,默认为一个空格 rs 输入记录分隔符 nf 当前记录里域个数 NR 到目前为止记录数 OFS 输出域分隔符 ORS 输出记录分隔符 1、awk '/101/' file 显示文件file中包含101的匹配行。 awk '/101/,/105/' file awk '$1 == 5' file awk '$1 == "CT"' file 注意必须带双引号 awk '$1 * $2 >100 ' file awk '$2 >5 && $2<=15' file 2、awk '{print NR,NF,$1,$NF,}' file 显示文件file的当前记录号、域数和每一行的第一个和最后一个域。 awk '/101/ {print $1,$2 + 10}' file 显示文件fil......阅读全文
Tags: awk, shellSED单行脚本快速参考[转]
SED单行脚本快速参考(Unix 流编辑器) 2005年12月29日 英文标题:USEFUL ONE-LINE SCRIPTS FOR SED (Unix stream editor) 原标题:HANDY ONE-LINERS FOR SED (Unix stream editor) 整理:Eric Pement - 电邮:pemente[at]northpark[dot]edu 版本5.5 译者:Joe Hong - 电邮:hq00e[at]126[dot]com 在以下地址可找到本文档的最新(英文)版本: http://sed.sourceforge.net/sed1line.txt http://www.pement.org/sed/s......阅读全文
Tags: sed, 单行脚本, 参考declare in shell[转]
declare peset选项 -r 只读 1 declare -r var1 (declare -r var1与readonly var1是完全一样的) 这和C语言中的const关键字一样, 都用来指定变量为只读. 如果你尝试修改一个只读变量的值, 那么会产生错误信息. -i 整型 1 declare -i number 2 # 脚本将会把变量"number"按照整型进行处理. 3 4 number=3 5 echo "Number = $number" # Number = 3 6 7 number=three 8 echo "Number = $number" # Number = 0 9 # 脚本尝试把字符串"three"作为整数来求值(译者注: 当然会失败, 所以出现值为0). 如果把一个变量指定为整型的话, 那么即使没有expr或者let命令, 也允许使用特定的算术运算. 1 n=6/3 2 echo "......阅读全文
Tags: declare, shell, shell相关shell数组学习[技术]
Bash中还可以使用数组变量,其赋值有两种: (1) name = (value1 ... valuen) 此时下标从0开始 (2) name[index] = value 数组下标的范围没有任何限制,同时也不必使用连续的分量. [root@linux01 ~]# A=(a b c def) ================================================== //取全部元素 [root@linux01 ~]# echo ${A[@]} 或者 echo ${A[*]} a b c def ================================================= //取第一个元素 [root@linux01 ~]# echo ${A[0]} a ================================================= //取得数组元素的个数 [root@linux01 ~]# echo ${#A[@]} 或者 echo ${#A[*]} 4 //取得元素3的长度,因为下标从0开始,所以元素3就是d......阅读全文
Tags: linux, shell, shell相关, 学习, 数组Linux 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指定......阅读全文
Tags: if命令, linux, shell, 参数Bash的字符串匹配共有6种形式
Bash的字符串匹配共有6种形式: 1. ${variable#pattern} 如果pattern匹配variable的开始部分,从variable的开始处删除字符直到第一个匹配的位置,包括匹配部分,返回剩余部分。 2. ${variable##pattern} 如果pattern匹配variable的开始部分,从variable的开始处删除字符直到最后一个匹配的位置,包括匹配部分,返回剩余部分。 3. ${variable%pattern} 如果pattern匹配variable的结尾部分,从variable的结尾处删除字符直到第一个匹配的位置,包括匹配部分,返回剩余部分。 4. ${variable%%pattern} 如果pattern匹配variable的结尾部分,从variable的结尾处删除字符直到最后一个匹配的位置,包括匹配部分,返回剩余部分。 5. ${variable/pattern......阅读全文
Tags: linux, shell相关, 字符串