咨询热线:4006-75-4006
售前:9:00-23:30 备案:9:00-18:00 技术:7*24h
这里为了简单就用crontab来实现,但是我们发现,默认的最小单位是分钟而不是秒。
我们首先建立一个shell脚本
vim zgy.sh
在里面写入
#!/bin/bash
step=1
for((i=0;i<60;i=(i+step)));do
echo hhh >> /sy.txt
sleep $step
done
exit 0
然后为脚本增加执行权限chmod +x zgy.sh
然后添加计划任务
在其中写入 * * * * * /root/zgy.sh
这样就成功了。其中echo hhh >> /sy.txt就是我们需要每秒执行的内容。
setp=1就是我们每秒执行一次。可以改成我们需要的。
我们可以wc -l /sy.txt来统计文件的行数,看是否每秒增加了一行
如果60不能整除间隔的秒数,则需要调整执行的时间。例如需要每8秒执行一次,就需要找到8与60的公倍数,8与60的最小公倍数是120(即2分钟)。 则zgy.sh的值为2,将循环结束条件修改为i<120, crontab -e可以输入以下语句来实现
*/2 * * * * /root/zgy.sh
脚本需要修改为
#!/bin/bash
step=8
for((i=0;i<120;i=(i+step)));do
echo hhh >> /sy.txt
sleep $step
done
exit 0
其他时间也是以此类推即可。