Unix配置定时执行任务
Unix系的操作系统比如MacOS或者Linux的系统可以使用crontab命令进行定时任务的配置。本文将以MacOS为例,介绍如何使用crontab命令设置定时任务。
假定现在有一个需求是:每一分钟产生一个字符串插入一个文件!
- 检查是否存在
crontab文件;
ls -al /etc/crontab - 如果不存在,则需要先进行创建;
sudo touch /etc/crontab - 执行以下命令,在其中加入要执行的任务;
crontab -e - 比如本需求需要写入以下命令,每分钟执行一次;
*/1 * * * * echo "hello world" > ok.txt
格式如下:
* * * * * command
分 时 日 月 周 命令
crontab的具体定时配置可见参考
注意
为了保证crontab命令能正常执行,需要特别注意以下几点:
- 执行命令的权限问题;如果需要
sudo权限执行的命令,加到crontab任务中时也需要sudo,即sudo crontab -e - 命令中最好使用绝对路径,无论该命令是否已经保存到环境变量
.bash_profile中 - 写在
crontab中的shell命令最好只包含.sh文件,不要有其他的shell命令比如date等。比如如下命令写在crontab中是不会被执行的。此时可以将以下命令再封装在另一个.sh文件中,然后在crontab中执行该.sh文件。
0 1 * * * /MYPATH/exe.sh >> /LOGPATH/`date +'%Y_%m_%d'`.log

浙公网安备 33010602011771号