当前位置: 亚洲城ca88 > 亚洲城 > 正文

Linux运维常用的Shell脚本,Shell定期去除指定时期

时间:2019-05-18 03:13来源:亚洲城
前天同事开采里头服务器的硬盘空间不够了,上边有许多备份,笔者又不可能去除,重新找了个320g的硬盘挂载了上,想往后shell脚本下的备份都更改成新硬盘上,给老硬盘腾出空间来,原备份路

前天同事开采里头服务器的硬盘空间不够了,上边有许多备份,笔者又不可能去除,重新找了个320g的硬盘挂载了上,想往后shell脚本下的备份都更改成新硬盘上,给老硬盘腾出空间来,原备份路径是/data/onlinesqlbak/,新备份路线是/disk2/onlinesqlbak/,作者find了下备份shell脚本,那1找吓死个人,最少都有10-十八个备份shell要改,何人叫自个儿是懒人想转手消除完,好了来看笔者的消除办法吧.

前不久FIFA World Cup来了,一向缠身职业和国际足球联合会世杯(FIFA-World-Cup)时期,都不曾空来管管本人的blog了,后天只能整个大约的小shell给我们了.公司供给去除三个月以前的备份文件,免得把硬盘给整爆了,上服务器看了下,居然都有五个月的备份未有清理了,万幸是sql备份,不然硬盘空间早就满了.

Linux运营常用的Shell脚本(带表明)

系统:centos 5.x

上面是自身的消除办法:

 

一.先确认有那3个脚本要改

复制代码 代码如下:

 在Linux日常运行中,shell脚本是每一种IT运营职员必备的利器,熟稔编写生产蒙受的shell脚本,能支援我们更自在,更加好的、更加快的做到日常运行工作,这大家来看多少个大约的剧本。欢迎指正,一同互动学习!  www.贰cto.com  

复制代码 代码如下:

cat delbak.sh
#!/bin/sh
location="/root/sqlbak/"
find $location -mtime 30 -type f |xargs rm -f

一、自动备份Mysql脚本:

find ~/soft_shell/ -name "*"|xargs grep "/data/onlinesqlbak/"

ps:

正如脚本为mysql自动备份脚本,仅供参谋,能够依据真实景况修改。

二.轮换另一边腿本里的开始和结果

location 是安装查找的目录
--mtime 30 是设置时间为30天前
-type f 前一周查找的连串为文件

#!/bin/sh 

复制代码 代码如下:

接下来进入crontab按时来删除:

#auto backup mysql 

find ~/soft_shell/ -type f -path "*.sh"|xargs sed -i 's:/data/onlinesqlbak/:/disk2/onlinesqlbak/:g'

复制代码 代码如下:

#wugk  2012-12-12 

3.验证

crontab -l
10 4 1 * * /bin/sh /root/soft_shell/delbak.sh

#Define PATH定义变量

复制代码 代码如下:

设定为每种月壹号早晨肆点拾一分推行脚本.当然你也得以依据你自身的需要去整.

BAKDIR=/data/backup/mysql/`date %Y-%m-%d` 

find ~/soft_shell/ -name "*"|xargs grep "/disk2/onlinesqlbak/"

无差异于的去除方法:

MYSQLDB=webapp 

好了,相当慢的就消除了很头大的标题。

复制代码 代码如下:

MYSQLPW=backup 

find /root/sqlbak -mtime 30 -type f -name *.gz -exec rm -f {} ;

MYSQLUSR=backup 

你大概感兴趣的稿子:

  • php定时去除文件夹下文件(清理缓存文件)
  • 选用mysql事件调解器定时去除binlog
  • 行使vbs脚本定期去除N天前的文本
  • vbs 定期去除功效完结代码
  • Windows和Linux下按期去除某天前的文本的脚本
  • 按时删除1个文本夹内的全数子文件夹和文件的方法

#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 DIGL450 and mkdir DI陆风X八 判断目录是还是不是留存,不存在则新建

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 "

2、Nginx case格局安装脚本:

  www.2cto.com  

一般来讲脚本为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= 

#Define DIHighlander and mkdir soft DI奥迪Q5  创制软件目录

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 

三、自动解压TA奥德赛、ZIP 脚本:

  www.2cto.com  

一般来讲脚本为自发性解压tar包和zip包脚本,仅供参谋,能够根据实际情形修改,可以举壹反三,应用到别的的运用中。

 

#解压zip包脚本如下:

#!/bin/sh 

#auto tar package 

#wugk 2012-12-12 

#Define Path 

PATH1=/tmp/images 

PATH2=/usr/www/images 

#Print welcome info  

cat <<EOF 

--------------------------------------------------------  

---------welcome to use auto  tar scripts-------  

--------------------------------------------------------  

EOF

#find Dir all TA智跑 packages 查找/tmp/images目录下具备的tar包

for i in `find  $PATH1  -name  "*.tar" ` 

do 

    tar -xvf  $i  -C $PATH2 

done 

#解压TALX570包脚本如下:

#!/bin/sh 

PATH1=/tmp/images 

PATH2=/usr/www/images 

#!/bin/sh 

PATH1=/tmp/images 

PATH2=/usr/www/images 

#Find Dir all ZIP packages 查找/tmp/images目录下具备的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 

如上脚本属于主旨脚本,更加尖端的本子迎接大家提更加多的见地,一齐尽力,脚本这么些事物看得多了,演练得多了,自然就熟谙了,最关键正是要多推行,实施出真知!  

在Linux平时运行中,shell脚本是每一种IT运转职员必备的利器,熟悉编写生产环境的shell脚本,能援助大家更...

编辑:亚洲城 本文来源:Linux运维常用的Shell脚本,Shell定期去除指定时期

关键词: 亚洲城ca88