Shell脚本自动删除指定大小以上的备份文件
最近本地虚拟机的空间老是被备份给占满,为了偷懒不想自己天天登录上去清除,才写了这个自动清理脚本.
系统:centos 5.x
脚本内容:
cat make_room.sh
#!/bin/bash
#size=`df -hP|grep /dev/mapper/VolGroup00-LogVol00|awk '{print $4}'|cut -f 1 -d "G"`
size=`df -mP|grep /dev/mapper/VolGroup00-LogVol00|awk '{print $4}'`
file="/root/sqlbak"
if [ "${size}" -le "1000" ];then
rm -f ${file}/*
else
echo "$size"
fi
为什么不用df -hP,因为if判断的时候老是报错,让我放弃了数字中会出现小数点的判断方式,直接用兆来判断这样更准确些.当然各位也可以加上其他的清理空间的方式,比如删除硬盘中大于50-100M的文件,或者删除前5-10个大的文件,这些判断就靠各位自己去写了,这些判断最好不要影响到服务器系统稳定性.
相关推荐
-
使用bash shell删除目录中的特定文件的3种方法
我是一名Linux新用户.现在我需要清理一个下载目录中的文件,其实我就是想从-/Download/文件夹删去除了以下格式的文件外所以其它文件: 1.*.iso - 所有的iso格式的文件. 2.*.zip - 所有zip格式的文件. 我如何在一个基于Linux,OS X 或者 Unix-like 系统上的bash shell中删除特定的文件呢? Bash shell 支持丰富的文件模式匹配符例如: 1.* - 匹配所有的文件. 2.? - 匹配文件名中的单个字母. 3.[...] - 匹配封闭括
-
PowerShell查询和删除打印任务操作代码实例
适用于Windows 8.1或Server 2012 R2 Windows 8.1 和 Server 2012 R2上自带了一个PowerShell组件:"PrintManagement",它包含了所有管理本机和远程打印机的命令. 在之前的小技巧中,我们演示了如何读取打印机任务.每一个打印任务都有一个属性JobStatus ,用来表示该任务是否打印成功. 所有的状态可以这样获取: 复制代码 代码如下: PS> Import-Module PrintManagement PS&
-
Shell脚本实现删除邮件队列
最近遇到了一个麻烦事:机器上邮件队列里老是被塞满,但是又不知道是什么地方发邮件写入的,十分蛋疼,没办法,只有临时处理一下了,写了个删除邮件的脚本rm_mqueue.sh. 复制代码 代码如下: #/bin/bash ###################################### # touched by lingyun1 on 2014-12-01 # ###################################### #定义堵塞邮件文件路径 quepath=/var
-
Shell中如何删除文本比较长的行的实现方法
Shell中如何删除文本比较长的行的实现方法 有的时候需要对文件执行删除删除操作,这个时候比较常用的会使用vi命令中的dd命令,比如先执行10G(跳转到第10行),然后再执行20dd(删除20行),但实际情况未必是这么常规,比如说,要删除文件中,某行长度超过200个字符的行,如果文本比较小,还好,如果是几万行,几十万行的呢? 这个想用vi就不现实了. 我然想到的办法就是:比如说,通过sed,awk,egrep命令来达到目的. 举个简单例子. 假如说如下文本文件,要将其中长度为5字符以上的给删除
-
Shell脚本实现删除一年前文件功能分享
复制代码 代码如下: #!/bin/bash #Description: delete files #=====定义当前年份,月份以及文件所在目录=====# currentYear=`date +%Y` currentMonth=`date +%m |awk -F'0' '{print $2}'` videodir=/var/video
-
shell实现tr删除替换详解
tr(translate缩写)主要用于删除文件中的控制字符,或进行字符转换. 语法:tr [–c/d/s/t] [SET1] [SET2] #SET1: 字符集1:SET2:字符集2 -c:complement,用SET2替换除SET1以外的字符. -d:delete,删除SET1中所有的字符,不转换. -s:squeeze-repeats,压缩SET1中重复的字符. -t:truncate-se
-
Shell脚本实现递归删除空文件夹
有时我们需要递归删除空文件夹,网上找了一下,没有发现比较好的Shell脚本,于是自己动手写了一个 脚本 复制代码 代码如下: #!/bin/bash # author: 十年后的卢哥哥 # des: delete empty directories recursive deleteempty() { find ${1:-.} -mindepth 1 -maxdepth 1 -type d | while read -r dir do if [[ -z "$(find "
-
PowerShell中删除空格、点号、减号和换行方法代码实例
复制代码 代码如下: $text = ' ... Hello ...--- ' $text.Trim(" .-`t`n`r") 结果只显示:Hello
-
Shell脚本自动删除指定大小以上的备份文件
最近本地虚拟机的空间老是被备份给占满,为了偷懒不想自己天天登录上去清除,才写了这个自动清理脚本. 系统:centos 5.x 脚本内容: cat make_room.sh 复制代码 代码如下: #!/bin/bash #size=`df -hP|grep /dev/mapper/VolGroup00-LogVol00|awk '{print $4}'|cut -f 1 -d "G"` size=`df -mP|grep /dev/mapper/VolGroup00-LogVol00|a
-
shell脚本自动安装jdk的方法示例
1.安装准备 1.jdk-8u221-linux-x64.tar.gz jdk压缩包(需要放在opt目录下) 2.shell脚本 2.shell命令 Sed 对字符的处理 -p 显示,将某个选择的数据打印显示.通常 p 会与参数 sed -n 一起执行 -d 删除,显示模式空间删除指定行后的内容,不会对原文件数据删除 -a 添加,a 的后面可以接字符串,该字符串会在当前指定行的下一行出现 -c 更改, c 的后面可以接字符串,该字符串可以取代 n1,n2 之间的行 -i 插入, i 的后面可以接
-
MySQL数据库的shell脚本自动备份
MySQL数据库的shell脚本自动备份 经常备份数据库是一个好习惯,虽然数据库损坏或数据丢失的概率很低,但一旦发生这种事情,后悔是没用的.一般网站或应用的后台都有备份数据库的功能按钮,但需要去手工执行.我们需要一种安全的,每天自动备份的方法.下面的这个shell脚本就是能让你通过过设定Crontab来每天备份MySQL数据库的方法. #!/bin/bash # 数据库认证 user="" password="" host="" db_name=
-
shell脚本自动检测网络掉线和自动重连
在ppp移植成功后,有时会出现ppp掉线等情况.这篇文章写了一个自动检测连接网络的解决方法. 创建一个shell脚本,在里面添加一下内容.(记得给操作权限) #!/bin/sh //根据你自己的shell类型来选择. while true //先做一个死循环 do ping -c 3 -I ppp0 172.16.1.11 >/dev/null //指定一个出口去ping服务器的局域网ip,将结果重定向到/dev/null里. //-c 3 是指ping执行3次后结束. //-w 3 是指pin
-
Centos7下源码安装Python3 及shell 脚本自动安装Python3的教程
一.源码安装 首先安装开发工具包 yum groupinstall -y "Development tools" 安装依赖软件包 yum -y install gcc gcc-c++ zlib-devel bzip2-devel openssl-devel sqlite-devel readline-devel libffi-devel wget 上Python 官网 找源码包的下载地址 wget https://www.python.org/ftp/python/3.7.6/Pyth
-
Shell 脚本自动输入密码的三种方式小结
目录 方式一 方式二 方式三 注意,如果创建.sh文件后不可以执行,请执行sudo chmod 755 文件名.sh来修改权限. 方式一 使用 echo “密码” | (管道符) 使用场景: sudo 命令 在使用普通用户执行 root 命令时有时候会需要输入密码,并且在输入密码后一段时间不需要再次输入(但是不影响),这时候可以使用 echo "密码" | sudo 命令 比如我需要一键清空服务器,则可以创建一个clear.sh文件(假使我的密码是 123456): echo &quo
-
Linux下使用shell脚本自动执行脚本文件
以下实例本人在Centos6.5 64位操作系统中使用 一.定时复制文件 a.在/usr/local/wfjb_web_back目录下创建 tomcatBack.sh文件 文件内容: #将tomcat中的应用wfjb_web 复制到 /usr/local/wfjb_web_back/tomcat_back/目录下 并按照日期作为文件名称 cp -af /usr/local/apache-tomcat-7.0.73/webapps/wfjb_web /usr/local/wfjb_web_back
-
shell脚本 自动创建用户详解及实例代码
shell脚本 自动创建用户详解 需求:判断用户zhangsan是否存在,不存在就创建并设置密码为123456 1.vi createuser.sh 2.写入: USER_COUNT=`cat /etc/passwd | grep '^zhangsan:' -c` USER_NAME='zhangsan' if [ $USER_COUNT -ne 1 ] then useradd $USER_NAME echo "123456" | passwd $USER_NAME --stdin
-
Mysql下自动删除指定时间以前的记录的操作方法
关于Event:mysql5.1版本开始引进event概念.event既"时间触发器",与triggers的事件触发不同,event类似与linux crontab计划任务,用于时间触发.通过单独或调用存储过程使用,在某一特定的时间点,触发相关的SQL语句或存储过程. 首先删除2天以前记录的SQL语句(webserver_monitormemory为表名,time为时间字段): delete From webserver_monitormemory where DATE(time) &
-
shell 脚本自动搭建nfs服务的方法示例
本文介绍了shell 脚本自动搭建nfs服务的方法示例,分享给大家,具体如下: #vim /sh/zidong_dajian_nfs_fuwu.sh #!/bin/bash #name:zidong_dajian_nfs_fuwu.sh #path:/sh/ #update:2017-9-17 #测试网络是否通畅 ping -c 1 172.16.13.254 >/dev/null && echo **********网络ok********** #第一步:关闭selinux和防火墙
随机推荐
- 详解Java中多线程异常捕获Runnable的实现
- vue.js开发环境搭建教程
- vue loadmore 组件滑动加载更多源码解析
- html滚动条样式
- 利用原生JS自动生成文章标题树的实例
- Android 开发程序锁应用简单实例
- php中socket通信机制实例详解
- Python实现获取命令行输出结果的方法
- 简单实现bootstrap选项卡效果
- jquery的ajaxSubmit()异步上传图片并保存表单数据演示代码
- 微信QQ的二维码登录原理js代码解析
- Android开发必备:秒杀真机超快模拟器Genymotion介绍
- ASP UTF-8编码生成静态网页的函数
- 详解计数排序算法及C语言程序中的实现
- js判断登录与否并确定跳转页面的方法
- jQuery实现的小图列表,大图展示效果幻灯片示例
- 教你在header中隐藏php的版本信息
- Apache服务器配置攻略3
- 图解二叉树的三种遍历方式及java实现代码
- C#事件访问器详解