发布于 5年前
Crontab 同一时刻保证一个任务只执行一次 (类似于单例模式)
防止上一次运行的程序还没执行完,又运行了一次,一个任务在同一时刻执行多次
-
单个任务
#!/bin/bash spider="/home/www/wechat/spider" count=$(ps -ef | grep $spider | grep -v grep | wc -l) [[ $count -eq 0 ]] && php $spider crawl
-
批量任务
#!/bin/bash spiders=("/home/www/wechat/spider" "/home/www/toutiao/spider") for spider in ${spiders[*]} do count=$(ps -ef | grep $spider | grep -v grep | wc -l) [[ $count -eq 0 ]] && php $spider crawl & done