安装
1
| pip install python-crontab
|
注意:如果在使用CronTab的时候报错,报错信息为 got an unexpected keyword argument ‘user’ 可能是库安装错了,应该安装python-crontab而不是crontab。
使用案例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| from crontab import CronTab
# 方法一
# 创建cron访问 cron = CronTab(user='root')
# 增加新作业 job = cron.new(command='echo hello_world')
# 每一分钟执行一次 job.minute.every(1)
# 写入作业 cron.write()
# 方法二 with CronTab(user='root') as cron:
job = cron.new(command='echo hello_world')
job.minute.every(1)
print('cron.write() was just executed')
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| from crontab import CronTab
# 下述三种方法只能在Unix上使用
# 不会从任何用户加载任何内容 empty_cron = CronTab()
# 从当前用户加载 my_user_cron = CronTab(user=True)
# 从$username加载 users_cron = CronTab(user='username')
# 可适用于window
# 从文件中加载 file_cron = CronTab(tabfile='filename.tab')
# 使用字符串变量作为crontab mem_cron = CronTab(tab="""* * * * * command""")
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| from crontab import CronTab
cron = CronTab(user=True)
job = cron.new(command='echo hello world')
# 每两分钟运行一次 job.minute.every(2) # Set to */2 * * * *
# 每两小时运行一次 job.hour.every(2) # Set to * */2 * * *
# 每两天运行一次 job.day.every(2) # Set to * * */2 * *
# 每天的早上2点执行 job.hour.on(2) # Set to * 2 * * *
# 每周日执行 job.dow.on('SUN')
# 每周日、周五执行 job.dow.on('SUN', 'FRI')
# 四月到11月期间执行 job.month.during('APR', 'NOV')
# 每两个月的2号到4号的早上10:02执行 job.setall(2, 10, '2-4', '*/2', None) # Set to 2 10 2-4 */2 *
|
1 2 3 4 5 6 7 8 9 10 11 12
| # 删除一个任务
cron.remove(job)
# 删除多个任务
cron.remove_all(comment='LoveFishO')
cron.remove_all('echo')
cron.remove_all()
|
1 2 3 4 5 6 7 8 9
| # 获取任务的命令或注释
command = job.command comment = job.comment
# 修改任务的命令或注释
job.set_command("echo LoveFishO") job.set_comment("LoveFishO")
|
1 2 3 4 5 6 7 8 9 10 11
| # 把任务写入系统 cron.write()
# 把任务写入文件 cron.write( 'filename.tab' )
# 把任务写入当前用户的定时任务中 cron.write_to_user(user=True)
# 把任务写入特定用户的定时任务中 cron.write_to_user(user='LoveFishO')
|