linux定时执行shell脚本

 

编写第一个shell文件,#!/bin/bash 是必须要写的,表示要是/bin/bash这个执行脚本的命令执行接下来写的脚本, echo "hello world !!"表示想前端打印一句话,具体看各自需求。

 

编写测试脚本:

生成文件夹的脚本(创建日期相关的文件夹):

#!/bin/bash
#按照时间生成日志文件或日志目录
#过去三个月的日期
date=$(date +%Y%m%d --date="-3 month")
#输出datetime
echo $date
#创建目录 使用mkdir命令
#首先判断目录是否存在,如果不存在则创建,存在则不再创建
if [ ! -d "/data/dq/test/${date}" ];then 
  mkdir /data/dq/test/${date}
  echo "/data/dq/test/${date} 目录创建成功。"
else
    echo "/data/dq/test/${date} 目录已存在。"
fi

 

  • 删除文件夹的脚本(删除文件夹以及文件夹下的所有文件):

#定义date变量:上三个月日期,格式如:20191213

#!/bin/bash
date=$(date +%Y%m%d --date="-3 month")
#输出date,目录
echo $date
echo "/dat/test/${date}"

#首先判断目录是否存在,如果存在则删除:删除该目录以及该目录下的所有文件
if [ -d "/data/test/${date}" ];then  
    rm -rf /data/test/${date}
    echo "/data/test/${date} 目录和以及目录下的所有文件已删除!!!"
  else
    echo "/data/test/${date} 目录不存在。"
fi

 

通过chmod命令赋予该脚本的执行权限chmod 755 hello.sh,否则没有执行权限,/root/hello.sh表示在全路径下执行该shell脚本

查看crontab服务状态:service crond status 

service crond status 

》》》  crond (pid  2056) is running..

设置需要执行的脚本 

新增调度任务可用两种方法: 
1)、在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。 
2)、直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务。 
crontab -e配置是针对某个用户的,而编辑/etc/crontab是针对系统的任务 
查看调度任务 
crontab -l //列出当前的所有调度任务 
crontab -l -u jp //列出用户jp的所有调度任务 
删除任务调度工作 
crontab -r //删除所有任务调度工作 
直接编辑 vim /etc/crontab ,默认的文件形式如下:

 

1  输入 :crontab -e , 显示一个编辑页面

2 输入任务:

*/10 * * * *  用户名 echo "Good morning." >> /data/test/test.txt 
*/10 * * * * 用户名 /data/test/createRuleExcel.sh >> /data/test/createRuleExcel.txt

 

 

================= 方式2  直接编辑/etc/crontab 文件

因为不是root 用户, 看到改文件属于root 用户的, 其他用户无法编辑

(没有root 用户权限,只能放弃这个做法)

 

 

/etc/crontab文件和crontab -e命令区别

/etc/crontab文件和crontab -e命令区别

1、格式不同

# *  *  *  *  * user-name command to be executed

后者

#50 1 * * *  command

2、使用范围

修改/etc/crontab这种方法只有root用户能用,这种方法更加方便与直接直接给其他用户设置计划任务,而且还可以指定执行shell等等,
crontab -e这种所有用户都可以使用,普通用户也只能为自己设置计划任务。然后自动写入/var/spool/cron/usename

部分参考:https://blog.csdn.net/CarloPan/article/details/103528983

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值