Linux运维常用的Shell脚本(带注解)

在Linux日常运维中,shell脚本是每个IT运维人员必备的利器,熟练编写生产环境的shell脚本,能帮助我们更轻松,更好的、更快的完成日常运维工作,那我们来看几个简单的脚本。欢迎指正,一起相互学习!
 
一、自动备份MySQL脚本:
 
如下脚本为mysql自动备份脚本,仅供参考,可以根据实际情况修改。
 
#!/bin/sh
 
#auto backup mysql
 
#wugk  2012-12-12
 
#Define PATH定义变量
 
BAKDIR=/data/backup/mysql/`date +%Y-%m-%d`
 
MYSQLDB=webapp
 
MYSQLPW=backup
 
MYSQLUSR=backup
 
#must use root user run scripts 必须使用root用户运行,$UID为系统变量
 
if
 
  [ $UID -ne 0 ];then
 
  echo This script must use the root user ! ! !
 
  sleep 2
 
  exit 0
 
fi
 
#Define DIR and mkdir DIR 判断目录是否存在,不存在则新建
 
if
 
  [ ! -d $BAKDIR ];then
 
  mkdir -p $BAKDIR
 
else
 
  echo This is $BAKDIR exists....
 
fi
 
#Use mysqldump backup mysql 使用mysqldump备份数据库
 
/usr/bin/mysqldump -u$MYSQLUSR -p$MYSQLPW -d $MYSQLDB >$BAKDIR/webapp_db.sql
 
cd $BAKDIR ; tar -czf  webapp_mysql_db.tar.gz *.sql
 
#查找备份目录下以.sql的文件并删除
 
find  . -type f -name “*.sql” |xargs rm -rf
 
#如何数据库备份成功,则打印成功,并删除备份目录30天以前的目录
 
[ $? -eq 0 ]&&echo “This `date +%Y-%m-%d` MySQL BACKUP is SUCCESS”
 
cd /data/backup/mysql/ ;find .  -type d  -mtime +30 |xargs rm -rf
 
echo "The mysql backup successfully "
 
二、Nginx case方式安装脚本:
 
如下脚本为Nginx自动安装脚本,仅供参考,可以根据实际情况修改,这里使用case方式,真实环境安装可以去掉case这种模式,全自动安装。
 
#!/bin/sh
 
###nginx install shell
 
###wugk 2012-12-12
 
###Define PATH  定义变量
 
SOFT_PATH=/data/soft/
 
NGINX_FILE=nginx-1.2.4.tar.gz
 
DOWN_PATH=http://nginx.org/download/
 
#Define DIR and mkdir soft DIR  创建软件目录
 
if
 
    [ ! -d $SOFT_PATH ];then
 
    mkdir -p $SOFT_PATH
 
fi
 
#Define download function  定义download函数
 
download ()
 
{
 
    cd $SOFT_PATH ;wget $DOWN_PATH/$NGINX_FILE
 
}
 
#Define install function  定义install函数
 
install ()
 
{
 
    yum install pcre-devel -y
 
    cd $SOFT_PATH ;tar xzf $NGINX_FILE 
 
    cd nginx-1.2.4/ &&./configure --prefix=/usr/local/nginx/ --with-http_stub_status_module --with-http_ssl_module
 
    [ $? -eq 0 ]&&make &&make install
 
}
 
#Start Nginx Server Define start function 定义start函数
 
start ()
 
{
 
    lsof -i :80
 
  [ $? -ne 0 ]&&/usr/local/nginx/sbin/nginx
 
}
 
#Stop Nginx Server Define stop function  定义stop函数
 
stop ()
 
{
 
 ps -ef |grep nginx |grep -v grep |awk '{print $2}'|xargs kill -9
 
}
 
#Config Case menu install  配置case 安装菜单
 
case  $1  in
 
    download )
 
    download
 
;;
 
    install )
 
    install
 
;;
 
    start )
 
    start
 
;;
 
    stop )
 
    stop
 
;;
 
      * )
 
    echo "USAGE:$0 {download or install or start or stop}"
 
    exit $?
 
esac

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/f5ecbebf99853f540cf1518bde0c1fe0.html