`
bcyy
  • 浏览: 1809934 次
文章分类
社区版块
存档分类
最新评论

硬盘检测的一个shell脚本及自动重启自动运行脚本

 
阅读更多

下面是一个硬盘文件拷本的脚本,不停的拷贝,当空间大于80时,将拷贝的文件全部删除

文件路径: /var/tmp/disk_test.sh

加入开机就启动 在 文件 /etc/rc.d/rc.local 文件中加入下面语句

sh /var/tmp/disk_test.sh

#!/bin/sh 

SRC_DIR="/usr/local/"
DST_DIR="/var/temp"
LOG_DIR="/var/log_dir"
MAX_USR=20




#The use of hard disk size
var_usr_size()
{
    local var_usage=`df |grep "/var"| awk '{print $5}' |sed 's/%//g'`
    if [ $var_usage -gt $MAX_USR ]
    then
        echo "the /var usage is $var_usage"
        return 1
    fi
    return 0

}


copy_file()
{
    if [ ! -d $LOG_DIR ]
    then
        mkdir $LOG_DIR
    fi
    local cut_time=`date +%F__%T`  
    LOG_FILE=$LOG_DIR/${cut_time}_log_event
    local temp_dir=$1
    while true
    do
        for file in `ls $SRC_DIR`
        do
            if var_usr_size
            then
                file_bak=${file}"_"$RANDOM
                cp ${SRC_DIR}${file} ${temp_dir}/${file_bak} -a
                if [ $? -ne 0 ]
                then
                    echo "$cut_time cp file error!" >> $LOG_FILE
                fi
            else
                rm -rf $temp_dir/*
                if [ $? -ne 0 ]
                then
                    echo "$cut_time rm file error!" >> $LOG_FILE
                fi
            fi
        done
    done

}


for file_name in `ls /var/ -l |grep temp* |awk '{print $5}'`
do
    rm -rf /var/${file_name}
done
for i in `seq 1 5` 
do
    {
        temp_file=${DST_DIR}$RANDOM
        if [ ! -d $temp_file ]
        then
            mkdir -p $temp_file
            copy_file $temp_file
        fi
    }&
done


有个每隔5分钟重启一次系统的时候出现问题,并不能立即重启,一直在提示 重启已经设置

分析是因为上面CP和RM命令一直在运行导致的。所以又写了下面的脚本进行重启的设置

#!/bin/bash

 for i in `ps -ef |grep -v grep |grep disk_test.sh | awk '{print $2}'`
 do
     kill -9 $i
 done

 sleep 180
 reboot


写到crontab文件中~

分享到:
评论

相关推荐

    Linux系统监控shell程序包-含内存cpu硬盘监控进程监控进程守护删除过期日志url监控webservice监控

    sysWeblogicMonitorRestart.sh:系统weblogic监控重启(守护进程),当weblogic进程停止时调用脚本(startPssc.sh)自动重启 startPssc.sh:重启weblogic并生成带日期的日志文件 sh\utils:工具文件夹 ...

    sesrv-script:在Linux服务器上运行Space Engineers的Bash脚本

    以在计算机启动,关闭或重新启动时启动和关闭游戏服务器,并安装systemd计时器,因此脚本会按一定的时间间隔(每15分钟执行一次)执行其工作,例如自动更新游戏,备份并从ramdisk同步到硬盘。 它还将在脚本文件夹中...

    virtualbox-backup-script:自动导出所有virtualbox计算机,而停机时间最短,而且无需重启任何主机

    该脚本是一个解决方案-Salt将其安装在我的每个虚拟机监控程序上,每个星期日每个VM都导出为OVA。 正在导出的正在运行的VM处于保存状态模式。 安装及使用 在vm-backup中更改'bkpath'和'vbuser'-'bkpath'是备份的目标...

    入门学习Linux常用必会60个命令实例详解doc/txt

    hda1中的“1”代表hda的第一个硬盘分区 (partition),hda2代表hda的第二主分区,第一个逻辑分区从hda5开始,依此类推。此外,可以直接检查 /var/log/messages文件,在该文件中可以找到计算机开机后系统已辨认出来的...

    cmd操作命令和linux命令大全收集

    at ip time 程序名(或一个命令) /r 在某时间运行对方某程序并重新启动计算机 finger username @host 查看最近有哪些用户登陆 telnet ip 端口 远和登陆服务器,默认端口为23 open ip 连接到IP(属telnet登陆后的...

    大量批处理实用程序例程

    把一个数拆分为几个数的和.cmd 无限制实数加减运算脚本.cmd 水仙花数算法.cmd 求一列数所有不同组合的和.cmd 求最大公约数和最小公倍数.cmd 用随机数做四则运算.cmd 百钱买百鸡的买法.cmd 计算2的N次方.cmd 计算开方...

    700个批处理打包下载.rar

    把一个数拆分为几个数的和.cmd 把指定文件中的指定位置的数字相加.cmd 把秒转换为天小时分秒的格式.cmd 把首行和尾行互换.cmd 抛弃路径尾部指定层次的字符串.cmd 拼接相临的奇偶行文本内容.cmd 指定图片路径换桌面....

    网管教程 从入门到精通软件篇.txt

    INT:中间代码,当一个源程序经过语法检查后编译产生一个可执行代码 IOF:Findit文档 IQY:Microsoft Internet查询文件 ISO:根据ISD 9660有关CD-ROM文件系统标准列出CD-ROM上的文件 ISP:X-Internet签字文件 ...

    RED HAT LINUX 6大全

    14.2 运行一个简单的Samba设置 243 14.2.1 使用Linux客户测试 243 14.2.2 使用Windows客户测试 244 14.3 配置Samba 245 14.3.1 [global]段 245 14.3.2 [homes]段 246 14.3.3 [printers]段 247 14.3.4 Samba打印机...

    (重要)AIX command 使用总结.txt

    //用下面命令可以得到一个硬盘的微码级别: # lscfg -vl pdisk* //IBM小型机AIX5.1操作系统密码文件丢失或者误删的恢复方法 进入维护模式: 1、将安装盘第一张放入光驱; 重启小型机选择主控台,按屏幕上提示的数字;...

    linux-desktop-ansible:基于 Ansible 的 Linux Mint 桌面设置

    linux-桌面-ansible 我的 Linux Mint 桌面 Ansible 配置 设置基础 Linux Mint 17 Cinnamon 系统 在 VMWare Fusion 中,选择 Linux > Ubuntu with LinuxMint 17 ISO 选择“自定义设置”... 然后选择一个漂亮的背景图

    Linux命令学习总结:详解reboot命令

    该命令用来重启Linux系统。相当于Windows系统中的restart命令。 命令语法: /sbin/reboot [-n] [-w] [-d] [-f] [-i] 或 reboot [-n] [-w] [-d] [-f] [-i] 命令参数: 参数 长参数 描叙 -d 重新...

    易语言 茶凉专用模块

    子程序 窗口置父, 整数型, 公开, 指定一个窗口的新父(返回前一个父窗口的句柄) .参数 窗口句柄, 整数型, , 子窗口句柄 .参数 新父, 整数型, 可空, 新的父窗口句柄 默认为0:置顶级窗口 -1:嵌入桌面 .子程序 窗口置...

    Linux简明教程.rar

    1.运行Shell脚本 2. Shell变量及其相关命令 2.1 读写shell变量 2.2 命令替换 2.3 导出环境变量 2.4 重置变量 2.5 创建只读用户自定义变量 2.6 读取标准输入 3. 脚本参数传递 4. 注释与程序头 5. 程序控制 ...

    网吧维护技术资料 合集

    1699 网吧维护\资料\xp实用技巧\设置自动关机重启时间.txt 5039 网吧维护\资料\xp实用技巧\辅助操作和特殊功能命令.txt 848 网吧维护\资料\xp实用技巧\运行菜单中的“快捷方式”.txt 5306 网吧维护\资料\xp实用技巧\...

    易语言程序免安装版下载

    操作系统界面功能支持库(shell.fne)中的“执行()”命令增加一个参数“窗口显示方式”,作用与核心库“运行()”命令的同名参数一致。 6. 数据库操作支持库增加读写长整数字段的功能,但受限于系统接口暂不能读写...

Global site tag (gtag.js) - Google Analytics