shell之crontab

step1:待定时执行的脚本

crontab_remove_log.sh

echo "【`date "+%Y-%m-%d %H:%M"`】,开始删除前两天的日志" >> crontab_remove_log.log
v_date=`date -d '-2 day' +%Y-%m-%d`
find /home/hadoop/tomcat/logs/ -name ***.log.${v_date} -exec rm -rf {} \;
echo "----删除/home/hadoop/tomcat/logs/***.log.${v_date}成功" >> crontab_remove_log.log
find /home/hadoop/tomcat/logs/master/ -name access.log* -exec rm -rf {} \;
echo "----删除/home/hadoop/tomcat/logs/master/access.log*成功" >> crontab_remove_log.log

step2:定时任务的编辑

查看编辑定时任务

crontab命令选项基本只有对用户操作的选项:
-u 指定一个用户 (省略表示当前用户)
-l 列出某个用户的任务计划
-r 删除某个用户的任务
-e 编辑某个用户的任务
所以,要查看所有用户的,只能根据/etc/passwd文件中的用户名一一枚举了,可以用脚本。

# 以root用户执行,查看所有用户的crontab
cat /etc/passwd | cut -f 1 -d : |xargs -I {} crontab -l -u {}

如:

$ crontab -u hadoop -l #查看hadoop用户的定时任务列表
*/1 * * * * /home/hadoop/crontab_remove_log.sh
不生效的话就这样
*/1 * * * * source /etc/profile;/home/hadoop/crontab_remove_log.sh

编辑当前用户任务

crontab -e

格式:

cron表达式  脚本

启动

注意:

  1. 先将定时任务设置成分钟任务,如*/1 * * * *看是否执行。
  2. 待执行的脚本直接赋执行权限(直接777亦可)

如crontab 没有成功,检测crontab 服务是否启动,如crontab 没有成功,检测crontab 服务是否启动,

  • /etc/init.d/crond status
  • /etc/init.d/crond restart
    cron 是系统守护进程,位置:
    /etc/init.d/crond
    参数:
    start
    stop
    restart
    reload

crontab执行后日志文件路径
/var/log/cron

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值