CentOS 7 定时执行指定的脚本并用指定的日志文件记录脚本执行情况

本文介绍了如何在CentOS7系统中通过编辑crontab文件来设置定时任务,以root用户身份执行指定的shell脚本(如backup.sh和b.sh),并将执行结果和错误信息追加到指定的日志文件中。日志文件名包含当前日期,确保每次执行都有独立的记录。
摘要由CSDN通过智能技术生成

CentOS 7 定时执行指定的脚本并用指定的日志文件记录脚本执行情况

CentOS 7 定时执行指定的脚本并用指定的日志文件记录脚本执行情况

执行命令 vim /etc/crontab,进入crontab编辑状态

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr …
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed

30 3 * * * root /sqlbak/backup.sh >>"/sqlbak/logs/backup$(date +"%Y%m%d%H%M%S").log" 2>&1

20 12 * * * root /sqlbak/b.sh >/sqlbak/logs/bk$(date +"%Y%m%d%H%M%S").log 2>&1

前三排是crontab文件自带的,不要动。
后面加#的内容表示注释,是举例说明写一个定时任务的格式,任务分成 三部分:定时表达式、用户名(以谁的名义执行,执行后会发邮件到/var/spool/mail/<用户名>)和要执行的命令。定时表达式是cron格式,按分 时 日 月 周排列,中间用空格分开。用户名这里用的root。命令是执行/sqlbak目录下的脚本文件backup.sh,并将执行情况(包括错误信息)写入/sqlbak/logs目录下的以backup开头带当前日期的.log文件中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值