def CreatePlan(command): """ 创建指定命令任务 :param command: :return: """ cron = Plan(command) cron.command('node ' + path + '/index.js ' + command, every='1.day', at='16:51') cron.run('write')
# # It's helpful to understand cron before proceeding. # http://en.wikipedia.org/wiki/Cron # # Learn more: http://github.com/fengsp/plan import click from plan import Plan cron = Plan("surprise", path='/home/apps/surprise', environment={'DJANGO_SETTINGS_MODULE': 'config.settings.prod'}) cron.script('manage.py runscript collect_liwushuo_items', every='9.hour') # cron.script('manage.py runjob collect_nanyibang_items', every='9.hour') # cron.script('manage.py runjob n2oid', every='3.hour') cron.script('manage.py runjob tmc', every='5.minute') cron.script('manage.py runjob trend', every='16.hour') cron.script('manage.py runjob reward', every='1.day') cron.command('/home/apps/surprise/crontab/db_backup.sh', every='15.minute') cron.command('/usr/bin/rsync -av /home/apps/surprise /home/apps/backups', every='15.day') @click.command() @click.argument('action', default='check') def execute(action): cron.run(action) if __name__ == "__main__": execute()
#coding:utf-8 #!usr/bin/env python ''' @author:lucas [email protected] @description:启动python分析系统 @create date:2017/04/09 @see:https://pythonhosted.org/plan/ ''' from plan import Plan ''' add:实时运行 * * * * * sleep 10;python /usr/local/pyTraff/main_temp.py * * * * * sleep 20;python /usr/local/pyTraff/main_temp.py * * * * * sleep 30;python /usr/local/pyTraff/main_temp.py * * * * * sleep 40;python /usr/local/pyTraff/main_temp.py * * * * * sleep 50;python /usr/local/pyTraff/main_temp.py ''' cron = Plan(name='root',user='******') ##添加任务,按小时运行 cron.command('python /usr/local/pyTraff/main.py', every='10 * * * *') cron.command('python /usr/local/pyTraff/originIP.py', every='12 * * * *') cron.command('python /usr/local/pyTraff/protocol.py', every='14 * * * *') cron.command('python /usr/local/pyTraff/user_traff.py', every='16 * * * *') cron.command('python /usr/local/pyTraff/respIpTop.py', every='18 * * * *') cron.command('python /usr/local/pyTraff/sessionTop.py', every='20 * * * *') cron.command('python /usr/local/pyTraff/user_web.py', every='8 * * * *') cron.run('update')
jobname ='job%s-%s'%(str(j['id']),j['every']) logsdir ='%s/Logs/cronlogs/%s'%(os.getcwd(),jobname) try: os.makedirs(logsdir) except Exception,e: pass exec_command='PATH=$PATH && %s'%j['cmd'] output = dict(stdout='%s/%s.stdout.log'%(logsdir,jobname), stderr='%s/%s.stderr.log'%(logsdir,jobname) ) cron = Plan(name='job'+str(j['id'])) if j.has_key('at') : r=cron.command(exec_command,every=j['every'],at=j['at'],output=output,) else: r=cron.command(exec_command,every=j['every'],output=output,) cron.run(j['action']) return True if __name__ == '__main__': #job1={'id':1,'cmd':'date','every':'2.day','action':'update','at':'hour.12 minute.15 minute.45'} job2={'id':2,'cmd':'/home/qilong/python/cron/1.sh','every':'1.hour','action':'update','at':'minute.10'} crontab(job2) #print job2 #job2=sys.argv[1] #crontab(eval(job2))
# -*- coding: utf-8 -*- # Use this file to easily define all of your cron jobs. # # It's helpful to understand cron before proceeding. # http://en.wikipedia.org/wiki/Cron # # Learn more: http://github.com/fengsp/plan from plan import Plan cron = Plan("commands") cron.command('top', every='4.hour', output=dict(stdout='/tmp/top_stdout.log', stderr='/tmp/top_stderr.log')) cron.command('yourcommand', every='sunday', at='hour.12 minute.0 minute.30') # more commands here if __name__ == "__main__": cron.run()
import argparse import os from plan import Plan BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) SCRIPT_NAME = "ping-app/cron.py" SCRIPT_NAME_PATH = os.path.join(BASE_DIR, SCRIPT_NAME) cron = Plan() cron.command(f"python3 {SCRIPT_NAME_PATH}", every="1.minute") if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument("-s", "--start", action="store_true") parser.add_argument("-e", "--end", action="store_true") args = parser.parse_args() if args.start: os.system(f"python3 {SCRIPT_NAME_PATH} --init" ) # call the command first and then call every 1.minutes cron.run("write") elif args.end: cron.run("clear") else: cron.run("clear")
# # Learn more: http://github.com/fengsp/plan import os from os.path import join as pjoin from plan import Plan dir_path = os.path.dirname(os.path.realpath(__file__)) cron = Plan( "scripts", path=pjoin(dir_path, '../scrape'), environment={'DJANGO_SETTINGS_MODULE': 'scrape.settings_production'} ) # register one command, script or module # cron.command('command', every='1.day') # cron.script('script.py', path='/web/yourproject/scripts', every='1.month') # cron.module('calendar', every='feburary', at='day.3') cron.command('cd %s && DJANGO_SETTINGS_MODULE=scrape.settings_production $HOME/venv/bin/scrapy crawl eoaient' % (pjoin(dir_path, '../scrape/crawler')), every='2.day', at='minute.48') cron.command('cd %s && DJANGO_SETTINGS_MODULE=scrape.settings_production $HOME/venv/bin/scrapy crawl ck0tp' % (pjoin(dir_path, '../scrape/crawler')), every='3.day', at='minute.12') cron.script('manage.py extoon_info', every='5.hour', at='minute.30') cron.script('manage.py extoon_description', every='6.hour', at='minute.15') if __name__ == "__main__": cron.run('update')
# -*- coding: utf-8 -*- from plan import Plan cron = Plan() output = dict(stdout='/var/log/stdout.log', stderr='/var/log/stderr.log') cron.command('top', every='1.hour', output=output) cron.command('echo ok', path='/home', every='1.minute', output=output) if __name__ == '__main__': cron.run("write")
# -*- coding: utf-8 -*- # Use this file to easily define all of your cron jobs. # # It's helpful to understand cron before proceeding. # http://en.wikipedia.org/wiki/Cron # # Learn more: http://github.com/fengsp/plan from plan import Plan cron = Plan() cron.command('top', every='4.hour', output=dict(stdout='/tmp/top_stdout.log', stderr='/tmp/top_stderr.log')) cron.script('script.py', every='1.day', path='/web/yourproject/scripts', environment={'YOURAPP_ENV': 'production'}) if __name__ == "__main__": cron.run()
from plan import Plan cron = Plan() cron.command('python /usr/bin/motor.py -m motor4 -t 12 ', every='50.minute') if __name__ == '__main__': cron.run('write')
from plan import Plan cron = Plan() cron.command('python /vagrant/stackoverflow.py', every='1.day', at='12:05') if __name__ == '__main__': cron.run('write')
# Package Details: # http://plan.readthedocs.org/index.html import os from plan import Plan cron = Plan() python_path = "/Users/RichardAfolabi/anaconda/envs/python3/bin/python " job_path = os.path.join(os.getcwd(), "geo_ip_job.py") cmd = python_path + job_path cron.command(cmd, every='2.minute') cron.command() if __name__ == '__main__': cron.run('write')
import argparse import os from plan import Plan BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) SCRIPT_NAME = "ping-app/start_cron.py" SCRIPT_NAME_PATH = os.path.join(BASE_DIR, SCRIPT_NAME) cron = Plan() cron.command(f"python3 {SCRIPT_NAME_PATH} --start", every="1.day", at="hour.9 minute.0") if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument("-s", "--start", action="store_true") parser.add_argument("-e", "--end", action="store_true") args = parser.parse_args() if args.start: cron.run("write") elif args.end: cron.run("clear") else: cron.run("clear")
#from crontab import CronTab from plan import Plan ''' This script uses python-crontab to run a cron job every day at noon, to save a dump of all the keys in the Redis datastore that's used by notCRUD. ''' ''' tab = CronTab(user='******') command = '/usr/bin/redis-cli bgsave' cron_job = tab.new(cmd, comment='This command dumps Redis keys and saves them.') cron_job.minute().on(0) cron_job.hour().on(12) ''' cron = Plan() cron.command('/usr/bin/redis-cli bgsave', every='1.day', at='12:00') if __name__ == '__main__': cron.run('write')
from plan import Plan cron = Plan() cron.command('python script.py', every='1.minute') # cron.script('script.py', every='1.day', path='/web/yourproject/scripts', # environment={'YOURAPP_ENV': 'production'}) # if __name__ == "__main__": cron.run(run_type='write')
import os from os.path import join as pjoin from plan import Plan dir_path = os.path.dirname(os.path.realpath(__file__)) cron = Plan( "scripts", path=pjoin(dir_path, '../scrape'), environment={'DJANGO_SETTINGS_MODULE': 'scrape.settings_production'} ) # register one command, script or module # cron.command('command', every='1.day') # cron.script('script.py', path='/web/yourproject/scripts', every='1.month') # cron.module('calendar', every='feburary', at='day.3') cron.command('cd %s && $HOME/venv/bin/scrapy crawl toonchar' % (pjoin(dir_path, '../scrape/crawler')), every='1.day', at='minute.48') cron.script('manage.py profile', every='12.hour', at='minute.24') cron.script('manage.py actress', every='3.day', at='minute.12') cron.script('manage.py feed', every='2.hour', at='minute.36') cron.script('manage.py bing_image_char', every='10.day', at='minute.7') cron.script('manage.py bing_image_toon', every='7.day', at='minute.14') cron.script('manage.py bing_image_diva', every='4.day', at='minute.21') cron.script('manage.py bing_image_tag', every='5.day', at='minute.28') if __name__ == "__main__": cron.run('update')
from plan import Plan cron = Plan() cron.command('python /home/pi/motor.py -m motor4 -t 5 ', every='1.hour') cron.command('python /home/pi/motor.py -m motor2 -t 5 ', every='1.hour') cron.command('python /home/pi/motor.py -m motor1 -t 20 ', every='1.hour') if __name__ == '__main__': cron.run('write')
from plan import Plan cron = Plan() cron.command('python /vagrant/stackoverflow.py', every='1.day', at='12:05') cron.command('python /vagrant/questions_monthly.py', every='1.month') cron.command('python /vagrant/sendEmail.py', every='1.month') if __name__ == '__main__': cron.run('write')
from plan import Plan import os if __name__ == "__main__": ROOT_PATH = os.path.dirname(os.path.abspath(__file__)) cron = Plan("commands") cron.command( '%s/sync_order_state_script.sh %s/..' % (ROOT_PATH, ROOT_PATH), every='1.minute', output=dict(stdout='%s/../log/sync_order_state_stdout.log' % ROOT_PATH, stderr='%s/../log/sync_order_state_stderr.log' % ROOT_PATH)) cron.run("check") cron.run("update")
class Deployment(BaseDeployment): python = os.path.join(sys.prefix, "bin", "python") def __init__(self, commands=None, script=None, crons=None, config=None, need_sudo=False, supervisor_conf_path="/etc/supervisord.d/"): self.need_sudo = need_sudo self.supervisor_conf_path = supervisor_conf_path self.crons = self.get_crons(crons) self.scripts = self.get_scripts(script) self.commands = self.get_commands(commands) self.home = os.path.dirname(os.path.abspath(self.__module__)) self.config = Config(self.home, config) self.cron = Plan(self.config.project) self.init_tasks() def init_tasks(self): for name, cmd in self.commands: self.config.add(name, cmd) for name, cmd in self.scripts: self.config.add(name, cmd) for cron in self.crons: self.cron.command(cron) def get_scripts(self, script_obj): if script_obj is None: return [] else: # 存放脚本文件名称 script_file_name = os.path.abspath( sys.modules[script_obj.__module__].__file__) scripts = [ name for name in dir(script_obj) if not name.startswith("_") ] return [(script, f"{self.python} -u {script_file_name} {script}") for script in scripts] def get_commands(self, commands): name_commands = [] if commands: name_commands = commands return name_commands def get_crons(self, crons_config): crons = [] if crons: crons = crons_config return crons def update_supervisor(self, file): if self.need_sudo: code1 = os.system(f"sudo mv {file} {self.supervisor_conf_path}") code2 = os.system("sudo supervisorctl update") else: code1 = os.system(f"mv {file} {self.supervisor_conf_path}") code2 = os.system("supervisorctl update") return code1 or code2 def update_cron(self, action): try: self.cron.update_crontab(action) except PlanError: pass def start(self): config_file = self.config.export() self.update_cron("update") return self.update_supervisor(config_file) def stop(self): config_file = self.config.export(content="") self.update_cron("clear") return self.update_supervisor(config_file)
from plan import Plan import os cron = Plan() crontabDir = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'crontab') hours = 'hour.19 hour.20 hour.21 hour.22 hour.23 hour.0 hour.1 hour.2 hour.3 hour.4 hour.5 hour.6 hour.7' ######################################################################## # 定时spider name = 'cron_spider' cron.command('flock -xn /tmp/%s.lock -c %s.sh' % (name, os.path.join(crontabDir, name)), every='1.minute') ######################################################################## # phash计算 name = 'cron_phash' cron.command('flock -xn /tmp/%s.lock -c %s.sh' % (name, os.path.join(crontabDir, name)), every='1.day', at=hours) ######################################################################## # 匹配计算 name = 'cron_match' cron.command('flock -xn /tmp/%s.lock -c %s.sh' % (name, os.path.join(crontabDir, name)), every='1.day', at=hours) ######################################################################## # 匹配计算 name = 'cron_itemmatch'
from plan import Plan import os if __name__ == "__main__": ROOT_PATH = os.path.dirname(os.path.abspath(__file__)) cron = Plan("commands") # online cron.command('/usr/local/bin/node %s/ghost/online.js' % ROOT_PATH, every='1.day', at="hour.21 minute.30", output=dict(stdout='%s/log/online_stdout.log' % ROOT_PATH, stderr='%s/log/online_stderr.log' % ROOT_PATH)) # offline cron.command('/usr/local/bin/node %s/ghost/offline.js' % ROOT_PATH, every='1.day', at="hour.7", output=dict(stdout='%s/log/offline_stdout.log' % ROOT_PATH, stderr='%s/log/offline_stderr.log' % ROOT_PATH)) cron.run("check") cron.run("write")
today = games[games.date_utc.dt.date == mydate] curr_date = datetime.datetime.today() run_date = curr_date + datetime.timedelta(minutes=1) print(datetime.datetime.today()) print(run_date) print(run_date.strftime('%H:%M')) min = run_date.minute hour = run_date.hour month = run_date.month dom = run_date.day dow = run_date.weekday() + 1 year = run_date.year print(min, hour, month, dom, dow) cron = Plan() command3 = '/usr/local/bin/python3 /Users/mc/Desktop/rugby-pass-scraper/scrape_match.py' every = '%s %s %s %s %s' % ( min, hour, dom, month, dow, ) cron.command(command3, every=every, at=str(hour) + ':' + str(min)) cron.command(command3, every=every, at=str(hour) + ':' + str(min + 1)) cron.run('write')
from plan import Plan import os cron = Plan() crontabDir = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'crontab') hours = 'hour.19 hour.20 hour.21 hour.22 hour.23 hour.0 hour.1 hour.2 hour.3 hour.4 hour.5 hour.6 hour.7' ######################################################################## # 定时spider name = 'cron_spider' cron.command('flock -xn /tmp/%s.lock -c %s.sh' % (name, os.path.join(crontabDir, name)), every='1.minute') ######################################################################## # phash计算 name = 'cron_phash' cron.command('flock -xn /tmp/%s.lock -c %s.sh' % (name, os.path.join(crontabDir, name)), every='1.day', at=hours) ######################################################################## # 匹配计算 name = 'cron_match' cron.command('flock -xn /tmp/%s.lock -c %s.sh' % (name, os.path.join(crontabDir, name)), every='1.day',
# -*- coding: utf-8 -*- """ demo ~~~~ :copyright: (c) 2014 by Shipeng Feng. :license: BSD, see LICENSE for more details. """ from plan import Plan cron = Plan() cron.command('ls /tmp', every='1.day', at='12:00') cron.command('pwd', every='2.month') cron.command('date', every='weekend') if __name__ == "__main__": cron.run()
from plan import Plan cron = Plan() cron.command('python auto_weibo_api.py', every='1.day', at='12:00') if __name__ == "__main__": cron.run()