每天在/home/face/capturepic/2017/目录下都会产生很多文件
/home/face/capturepic/2017/4/21
/home/face/capturepic/2017/4/22
希望的是每天只保留当天的文件夹,其他的文件夹删除
改写的.sh脚本如下
!/bin/bash
dir="/home/face/capturepic/2017/"
Available=`df -k | sed -n '/sda3/p' | awk '{print int($5)}'`
if [ $Available -gt ];then
echo "available less 10 "
for mou in `ls $dir`
do
tmou=date +%m
if [ $mou -lt $tmou ];then
echo "delete dir $dir$mou "
rm -rf $dir$mou
elif [ $mou -eq $tmou ];then
for day in `ls $dir$mou/`
do
today=date +%d
if [ $day -ne $today ];then
echo "delete dir $dir$tmou/$day "
rm -rf $dir$tmou/$day
fi
done
fi
done
fi

定时执行的corn文件如下(每分钟执行一次)

* * * * * ./test.sh
* * * * * ./test.sh 最好写一下脚本的绝对路径,因为最后放到crontab里面,当前路径就不同了 
最好改为如下
* * * * * /home/test.sh
还有就是脚本里面用到的一些文件之类的,最好也用绝对路径
crontab XXX.cron

直接加入定时脚本中


crontab -l
能够查看脚本是否放在了crontab里面

如果运行了,可以运行如下命令查看最近日志,如果看不到日志,说明根本没运行
root@u3-server:/home/u3/mjl# tail /var/log/cron.log
Oct :: u3-server CRON[]: (root) CMD (/home/u3/mjl/watchdog.sh)
Oct :: u3-server CRON[]: (CRON) info (No MTA installed, discarding output)
Oct :: u3-server CRON[]: (root) CMD (/home/u3/mjl/watchdog.sh)
Oct :: u3-server CRON[]: (CRON) info (No MTA installed, discarding output)
Oct :: u3-server CRON[]: (root) CMD (/home/u3/mjl/watchdog.sh)
Oct :: u3-server CRON[]: (CRON) info (No MTA installed, discarding output)
Oct :: u3-server CRON[]: (root) CMD (/home/u3/mjl/watchdog.sh)
Oct :: u3-server CRON[]: (CRON) info (No MTA installed, discarding output)
Oct :: u3-server CRON[]: (root) CMD (/home/u3/mjl/watchdog.sh)
Oct :: u3-server CRON[]: (CRON) info (No MTA installed, discarding output)
有时候/var/log/cron.log 不一定有日志
需要在cron脚本里面加入重定向日志,如
* * * * * /home/jyzbyj/mjl/watchdog/watchdog.sh >> /home/jyzbyj/mjl/watchdog/mylog.log >&

另外service cron start可以正常启动服务

一些网上的资料说 /sbin/service crond start ,我在ubuntu下面不能执行

开机的时候自动启动服务

u3@u3-server:~/mjl$ cat /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
service cron start
exit

杀死所有名称叫test的进程

kill.sh

killall test

运行在后台,并且设置为init进程的子进程,不随终端的关闭退出

start.sh

cd /home/user/test/
setsid ./test &

注意,不要放在/etc/ 等系统目录下面,可能导致没有执行权限

cron脚本在不同的用户有不同的设置,所以执行程序一定要保证能够在当前用户能执行

提示:如果你的脚本总是报错,很可能是你用了windows下面的编辑器,最好有linux的编辑器

自动删除文件脚本(Linux shell脚本)的更多相关文章

  1. 有用户及目录判断的删除文件内容的Shell脚本

    [root@localhost Qingchu]# cat Qingchu_version2.sh #!/bin/bash #描述: # 清除脚本! #作者:孤舟点点 #版本:2.0 #创建时间:-- ...

  2. Linux Shell脚本攻略

    -Linux Shell脚本攻略 总结的来说,这本书很实践性和实用性强,都是给的具体的例子,直接可以在终端操作实践,比单纯只看不动手务实多了,另外就是,这本书涵盖的内容也比较广,从文本操作到服务器管理 ...

  3. linux - 怎么自动填写有交互的shell脚本 - SegmentFault

    linux - 怎么自动填写有交互的shell脚本 - SegmentFault TCL/Expect交互式自动化测试概要 - - ITeye技术网站 expect是一种基于TCL,能与交互式程序进行 ...

  4. Linux shell 脚本攻略之统计文件的行数、单词数和字符数

    摘自:<Linux shell 脚本攻略>

  5. Linux shell 脚本攻略之创建不可修改文件

    摘自:<Linux shell 脚本攻略>

  6. Linux shell 脚本攻略之生成任意大小的文件

    摘自:<Linux shell 脚本攻略>

  7. Linux shell 脚本攻略之文件查找与文件列表

    摘自:<Linux shell 脚本攻略>

  8. Linux Shell脚本攻略 读书笔记

    Linux Shell脚本攻略 读书笔记 这是一本小书,总共253页,但内容却很丰富,书中的示例小巧而实用,对我这样总是在shell门前徘徊的人来说真是如获至宝:最有价值的当属文本处理,对这块我单独整 ...

  9. Linux Shell脚本入门--wget 命令用法详解

    Linux Shell脚本入门--wget 命令用法详解 wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上.它有以下功能 ...

  10. LINUX SHELL脚本攻略笔记[速查]

    Linux Shell脚本攻略笔记[速查] 资源 shell script run shell script echo printf 环境变量和变量 pgrep shell数学运算 命令状态 文件描述 ...

随机推荐

  1. Linux下如何彻底删除MySQL

    1.查找以前是否装有mysql 命令:rpm -qa|grep -i mysql可以看到如下图的所示: 说明之前安装了:MySQL-client-5.5.25a-1.rhel5MySQL-server ...

  2. 《RabbitMQ Tutorial》译文 第 5 章 主题

    原文来自 RabbitMQ 英文官网的教程(5.Topics),其示例代码采用了 .NET C# 语言. In the previous tutorial we improved our loggin ...

  3. HDU_1698 Just a Hook(线段树+lazy标记)

    pid=1698">题目请点我 题解: 接触到的第一到区间更新,须要用到lazy标记.典型的区间着色问题. lazy标记详情请參考博客:http://ju.outofmemory.cn ...

  4. 设置Eclipse的workspace路径

    首次启动Eclipse/MyEclipse时, 会弹出"Workspace Launcher"对话框, 提示设置Workspace路径. 设定好路径后, 若勾选了"Use ...

  5. Mybatis 入门之resultMap与resultType解说实例

    resultMap:适合使用返回值是自己定义实体类的情况 resultType:适合使用返回值得数据类型是非自己定义的,即jdk的提供的类型 resultMap : type:映射实体类的数据类型 i ...

  6. 【leetcode】123. Best Time to Buy and Sell Stock III

    @requires_authorization @author johnsondu @create_time 2015.7.22 19:04 @url [Best Time to Buy and Se ...

  7. [Shell]crontab 运行任务调用shell脚本,相对路径无法找到

    问题出现的场景大概就是 1  cron调用一个python脚本 2  python脚本中调用一个shell脚本(对日志分析)获取shell输出然后发送邮件 类似一个监控任务. 直接运行python脚本 ...

  8. TCP服务端开发为例--web开发不同url请求走不同control方法

    拿java的web开发为例子,相信有很多小伙伴是做j2EE开发的,htpp请求,json数据传输都是工作中经常用的,查询请求,添加请求,修改请求前端配个url,例如https://localhost/ ...

  9. mysql主从备份及常见问题处理

    1.mysql主从备份基本原理 mysql支持单向.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.mysql复制基于主服务器在二进制日志中跟踪所有对数据库的更改(更新 ...

  10. 超详细的 Linux CentOS yum 源的配置与使用【转发+新增】

    一.yum 简介 yum,是Yellow dog Updater, Modified 的简称,是杜克大学为了提高RPM 软件包安装性而开发的一种软件包管理器.起初是由yellow dog 这一发行版的 ...