在Linux日常运维中,shell脚本是每个IT运维人员必备的利器,熟练编写生产环境的shell脚本,能帮助我们更轻松,更好的、更快的完成日常运维工作,那我们来看几个简单的脚本。欢迎指正,一起相互学习!
Linux日常运维脚本
原创
©著作权归作者所有:来自51CTO博客作者ene007的原创作品,请联系作者获取转载授权,否则将追究法律责任
一、自动备份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
三、自动解压TAR、ZIP 脚本:
如下脚本为自动解压tar包和zip包脚本,仅供参考,可以根据实际情况修改,可以举一反三,应用到其他的应用中。
#解压zip包脚本如下:
#!/bin/sh
#auto tar package
#wugk 2012-12-12
#Define Path
PATH1=/tmp/p_w_picpaths
PATH2=/usr/www/p_w_picpaths
#Print welcome info
cat <<EOF
++--------------------------------------------------------++
++---------welcome to use auto tar scripts-------+
++--------------------------------------------------------++
EOF
#find Dir all TAR packages 查找/tmp/p_w_picpaths目录下所有的tar包
for i in `find $PATH1 -name "*.tar" `
do
tar -xvf $i -C $PATH2
done
#解压TAR包脚本如下:
#!/bin/sh
PATH1=/tmp/p_w_picpaths
PATH2=/usr/www/p_w_picpaths
#!/bin/sh
PATH1=/tmp/p_w_picpaths
PATH2=/usr/www/p_w_picpaths
#Find Dir all ZIP packages 查找/tmp/p_w_picpaths目录下所有的tar包,并创建解压目录
cd $PATH1
for i in `find . -name "*.zip"|awk -F. {print $2} `
do
mkdir -p PATH2$i
unzip -o .$i.zip -d PATH2$i
done
上一篇:apache常用模块
下一篇:apache调优(附效果图)
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
运维常用shell脚本
坚持到底,永不放弃!
linux 服务器 shell 运维 -
实用运维shell脚本鉴赏
使用运维shell脚本鉴赏
指定目录 目标目录 服务器 -
Bash Shell 运维监控脚本
Bash Shell 运维监控脚本
职场 休闲 Bash Shell 运维监控脚本 -
运维(03)- shell执行脚本
编写一个简单的脚本test.sh:#! /bin/shcd ..lsShell脚本中用#表
运维 bash 开发语言 代码段 文本文件 -
运维(15)-shell脚本的调试方法
Shell提供了一些用于调试脚本的选项,如下所示
运维 bash linux 命令行 语法错误