linux 定时任务到秒级

时间:2023-01-16 19:37:51

linux crontab 只有到分钟级别的

有两种方法

方法1、写个sh脚本,循环(下例为每秒访问一次百度)

#! /bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/local/bin:/usr/sbin step=1 #间隔的秒数,不能大于60
for (( i = 0; i < 60; i=(i+step) )); do
curl https://www.baidu.com/
sleep $step
done
exit 0

  

在定时计划里面写上  1分钟调用1次即可

*/1 * * * * /home/xx.sh

方法2、

每10秒。每秒自己参照着改下

* * * * * php /home/fdipzone/php/crontab/tolog.php
* * * * * sleep 10; php /home/fdipzone/php/crontab/tolog.php
* * * * * sleep 20; php /home/fdipzone/php/crontab/tolog.php
* * * * * sleep 30; php /home/fdipzone/php/crontab/tolog.php
* * * * * sleep 40; php /home/fdipzone/php/crontab/tolog.php
* * * * * sleep 50; php /home/fdipzone/php/crontab/tolog.php

  

查看定时计划日志

cat /var/log/cron

注:.sh文件执行可能会提示 bad interpreter: Text file busy

原因:文件正在使用

解决:找到进程号,结束掉进程号

查看进程是否被占用
lsof | grep xxx.sh

结束进程 kill xxxx