存档

  • 推荐一款优秀的shell备份脚本

    这个shell脚本是prima@hosting自带的备份web和mysql数据库等用到的, 可以说非常不错, 特别是站点稍多点的时候, 稍微修改一点就可以作为一个极其优秀的脚本,我主要用它来备份数据库, 没时间做大修改, 如果感兴趣你可以修改下, 推荐哈 #!/bin/sh EMAIL=0################################################################################ 配置区# the backup dirBACKUP_BASE_DIR=”/www/backup” # 备份哪些?WEB=0EMAIL=0DNS=0MYSQL=1CONTROL=1 # 测试模式?testmode=0 # 本参数如设置为1,则打包压缩/www/users/目录时候,# 将会把每个站点单独生成一个对应的tgz压缩文件 # 本参数如果为0,则/www/users/下所有站点将打包成为一个users.tar.gz的大文件# 为了便于下载备份和解压缩备份文件,本参数默认设置为1user_seperate=1 # 本参数如设置为1,则打包压缩/var/lib/mysql/目录时候,# 将会把每个数据库单独生成一个对应的tgz压缩文件 # 本参数如果为0,则/var/lib/mysql/目录打包成为一个mysql.tar.gz的大文件# 本参数默认设置为0mysql_seperate=1 # 保留多少份旧的备份?# 即除了当前最新的这个备份之外,还保留几个备份,最少为0个,默认为1# 如果设为0,则只保留一个备份,每次备份的时候都会把以前的备份删除max_old_backup=7 ############################################################################### 以下的配置如果不明白最好不要改############################################################################### 备份数据目录WEB_DATA_DIR=”/www/users”EMAIL_DATA_DIR=”/var/vmail”DNS_DATA_DIR=”/var/named”CONTROL_DATA_DIR=”/usr/local/apache2/conf /etc/my.cnf /usr/local/Zend/etc/php.ini”# CONTROL_DATA_DIR=”/www/prima”# GENCOMSITE_DATA_DIR=”/www/prima/htdocs/apps/GenComSite/sitepage /www/prima/htdocs/apps/GenComSite/upload”# COUNTER_DATA_DIR=”/var/Counter”system=`uname -a`case “$system” in    Linux*)             MYSQL_DATA_DIR=”/var/lib/mysql” ;;    FreeBSD*)           MYSQL_DATA_DIR=”/var/db/mysql” ;;    *)                  MYSQL_DATA_DIR=”/var/lib/mysql” ;;esac # [...]

    2008年7月1日 | 归档于 shell编程
  • Linux Shell

      Linux Shell到底是什么?  了解 Linux Shell   Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。     实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。       Linux提供了像Microsoft Windows那样的可视的命令输入界面–X Window的图形用户界面(GUI)。它提供了很多窗口管理器,其操作就象Windows一样,有窗口、图标和菜单,所有的管理都是通过鼠标控制。现在比较流行的窗口管理器是KDE和GNOME。     每个Linux系统的用户可以拥有他自己的用户界面或Shell,用以满足他们自己专门的Shell需要。     同Linux本身一样,Shell也有多种不同的版本。目前主要有下列版本的Shell:    Bourne Shell:是贝尔实验室开发的。   BASH:是GNU的Bourne Again Shell,是GNU操作系统上默认的shell。   Korn Shell:是对Bourne SHell的发展,在大部分内容上与Bourne Shell兼容。    C Shell:是SUN公司Shell的BSD版本。 

    2008年3月3日 | 归档于 shell编程
  • 写了一个简单的防止IP攻击的脚本

    写了一个简单的防止IP攻击的脚本由于工作需要我就自己写了一个简单的防止IP攻击的脚本,可以防止linux虚拟主机一些小方面的IP攻击 系统是基于RHEL的centos,包括3,4,5三个版本,当然自己也初学shell,中间肯定用了很多笨的办法,效果也不一定怎么样,请大家给点意见 注意:这个脚本是根据apache服务器的server-status和系统的dmesg分析结果进行防范的,所以非apache用户和没有开启server-status的朋友没法使用 可以在服务器的crontab里设定每一分钟运行一次脚本,  复制下面的脚本到autoblock.sh,root用户下# chmod u+x autoblock.sh #!/bin/bash# author hao32 # basic settingecho 1 > /proc/sys/net/ipv4/tcp_syncookies# find  server-status  namess_name=”/usr/local/autoblock” if [ -e $ss_name/ss_name ];thenss_n=`cat $ss_name/ss_name`elsemkdir /usr/local/autoblock >/dev/null 2>&1cat `locate httpd.conf|grep -E “httpd/conf/httpd.conf$|apache_ssl/conf/httpd.conf$”`\|grep “n /server-status”|cut -d/ -f2|cut -d\> -f1 > $ss_name/ss_namess_n=`cat $ss_name/ss_name`fi # block setting# 设定排除的IP地址ip_exclude=”192.168.1.*|60.195.249.*|222.76.212.*|218.241.156.*|58.215.87.*|218.107.216.110″ip_amou=25ss_url=”http://127.0.0.1/$ss_n?notable“ ss_tmp=”/tmp/server-status”poss_ip=”/tmp/poss_ip”real_ip=”/tmp/real_ip” # block start…if [ -e "$poss_ip" ];thenecho “” [...]

    2007年12月20日 | 归档于 shell编程
  • 双括号在shell编程中的妙用

    在bash中计算i=i+1有三种办法:1.i=$(($i+1))2.i=`expr $i + 1`3.let “i=i+1″其中第一种和第二种是可以在sh里面使用的,第三种只能在bash里使用,还是第一种最简单,通用。双括号还有妙用for ((i=1;i<=num;i++))shell里面是不允许if [ $a != 1 || $b = 2 ]出现的,要用if [ $a != 1 ] || [ $b = 2 ]]用双括号可以解决if [[ $a != 1 || $b = 2 ]]if [ "$a" -lt "$b" ]也可以改成双括号的形式((“$a” < “$b”))

    2007年12月8日 | 归档于 shell编程
  • bash循环读入文件的每一行并处理

    bash循环读入文件的每一行并处理 cat afile | while read oneline do echo $oneline done 这只是个简单例子,把文件afile的每一行读入,然后显示出来。 也可以这样(如果行中有空格或者tab则无法使用此方法,不好意思啊,呵呵): for i in `cat afile` do echo $i done

    2007年12月3日 | 归档于 shell编程
    标签:
  • shell是什么

            简单的说 : shell 是一个交互性命令解释器。shell独立于操作系统,这种设计让用户可以灵活选择适合自己的shell。shell让你在命令行键入命令,经过shell解释后传送给操作系统(内核)执行。         shell是一个命令处理器(command processor)——是一个读入并解释你输入的命令的程序。除了是一个命令中断器以外,shell还是一个程序设计语言。你可以编写shell可以解释的程序(被称为源程序),这些源程序可以包含shell程序设计命令等等。shell除了解释命令以外,还有其他工作,它也可以配置和编程。shell拥有自己的语言允许用户编写程序并以一种复杂方式运行。shell编程语言具有许多常用的编程语言的特征,例如:循环和控制结构等。用户可以生成像其他应用程序一样复杂的shell程序。 以下是shell功能的一个汇总: 查找命令的位置并且执行相关联的程序。 为shell变量赋新值 执行命令替代 处理 I/O重定向和管道功能 提供一个解释性的编程语言界面,包括tests、branches和loops等语句。 更为具体的说明,请参考下文:        文字操作系统与外部最主要的接口就叫做shell。shell是操作系统最外面的一层。shell管理你与操作系统之间的交互:等待你输入,向操作系统解释你的输入,并且处理各种各样的操作系统的输出结果。   shell提供了你与操作系统之间通讯的方式。这种通讯可以以交互方式(从键盘输入,并且可以立即得到响应),或者以shell script(非交互)方式执行。shell script是放在文件中的一串shell和操作系统命令,它们可以被重复使用。本质上,shell script是命令行命令简单的组合到一个文件里面。   Shell基本上是一个命令解释器,类似于DOS下的command.com。它接收用户命令(如ls等),然后调用相应的应用程序。较为通用的shell有标准的Bourne shell (sh)和C shell (csh)。 交互式shell和非交互式shell 交互式模式就是shell等待你的输入,并且执行你提交的命令。这种模式被称作交互式是因为shell与用户进行交互。这种模式也是大多数用户非常熟悉的:登录、执行一些命令、签退。当你签退后,shell也终止了。 shell也可以运行在另外一种模式:非交互式模式。在这种模式下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。当它读到文件的结尾,shell也就终止了。 shell的类型 在UNIX中主要有两大类shell Bourne shell (包括 sh, ksh, and bash) Bourne shell ( sh) Korn shell ( ksh) Bourne Again shell ( bash) POSIX shell ( sh) C [...]

    2007年11月3日 | 归档于 shell编程
  • 一段用来验证密码的shell

    通过这个简单的验证密码的shell脚本,来熟悉下while和if的用法,也许对您有点用处,当然还有更多的实现方法,比如用until什么的 #!/bin/sh# hao32 repasswd while [ -z $pass1 ] || [ -z $pass2 ] || [ $pass1 != $pass2 ]do        read -p “Please type your passwd :” pass1        read -p “Please conform your passwd :” pass2            if [ -z $pass1 ]; then            echo “passwd should not be empty!”            elif [ $pass1 != $pass2 ]; [...]

    2007年11月2日 | 归档于 shell编程
  • LINUX调整系统时间和时区的方法

    1) 找到相应的时区文件 /usr/share/zoneinfo/Asia/Shanghai 用这个文件替换当前的/etc/localtime文件。 2) 修改/etc/sysconfig/clock文件,修改为: ZONE="Asia/Shanghai" UTC=false ARC=false 3) 时间设定成2005年8月30日的命令如下: #date -s 08/30/2005 将系统时间设定成下午6点40分0秒的命令如下。 #date -s 18:40:00 4) 同步BIOS时钟,强制把系统时间写入CMOS,命令如下: #clock -w 5)重启服务器。

    2005年12月30日 | 归档于 shell编程, 早期帖子
‘shell编程’ 分类的存档