2017-10-16 9 views
0

python2.7.8を使用してcrontabに複数の時刻(12,13,14のような時刻に)を追加したいとします。どうやってやるの 。Pythonプログラミングで複数の特定時刻を追加する

for job in cron.find_comment(cron_id): 
      job.hour.on(int ('5')) 
      job.minute.on(int ('30')) 
"""It displaying 
"30 5 * * * '/export/home/www/current/abc.sh' # IMPORT_TUD 
" 
""" 
#And I am trying to do like.... 

for job in cron.find_comment(cron_id): 
      job.hour.on(int ('5,6,7')) 
      job.minute.on(int ('30')) 
"""Output should be like this.. 

"30 5,6,7 * * * '/export/home/www/current/abc.sh' #のIMPORT_TUD " しかし、これはコードである「 ""

を働いていません一時間の入力のために働いています...それはうまく動作していますが今私は持っています

時針['13:00:00 '、' 14:00:00 '、' 15:00:00 ']

if daily_job > 0: 

     sched_str = sched_str.replace(r'",', r",") # this replaces ", with ; 
     sched_str = sched_str.replace(r'"', '') 

     time_str = sched_str.split(':') 

     for job in cron.find_comment(cron_id): 
      job.hour.on(int(time_str[0])) 
      job.minute.on(int(time_str[1])) 
+0

イメージがある場合は、直接ポストに入れてください。何を試しましたか? – Mazz

+0

初めて質問を投稿していますので、画像を追加する方法がわかりません – Meena

+0

イメージを投稿することはできません。そうするには50(IIRC)の評判が必要です。とにかくテキストのイメージを投稿するのではなく、質問に直接貼り付けて、コードボタン( '{}) 'を使用してフォーマットしてください。また、あなた自身でこれをコード化するためにどのような努力をしたのかを示してください.-それは「私のコードを書く」要求の場所ではありません。 – SiHa

答えて

0
I found two approach: 
1. If we want No. times = No. of cronTab entry like... 
    30 3 * * * '/etc/crontab/abc.sh' # hello 
    30 4 * * * '/etc/crontab/abc.sh' # hello 
    30 5 * * * '/etc/crontab/abc.sh' # hello 



     file_cron.remove_all(comment='hello') 
     for i in sched_str: 
      time_str = i.split(':') 
      cur_hour = int (time_str[0]) 
      cur_minute = int (time_str[1]) 
      cron_job = file_cron.new('/etc/crontab', comment='hello') 
      cron_job.hour.on(cur_hour) 
      cron_job.minute.on(cur_minute) 

      file_cron.write() 
2. For single line of cronTab like (30 3,4,5,6 * * *'/etc/crontab/abc.sh' # hello) 

     file_cron = CronTab(tabfile='filename.tab') 
     sched_hour = ['11','13','15'] 

     def one(): 
      cron_job.hour.on(sched_hour[0]) 

     def two(): 
      cron_job.hour.on(sched_hour[0],sched_hour[1]) 

     def three(): 
      cron_job.hour.on(sched_hour[0],sched_hour[1],sched_hour[2]) 


     options = {1: one, 
        2: two, 
        3: three, 
        } 

     a = len(sched_hour) 
     for cron_job in file_cron.find_comment('hello'): 
      options[a]() 
      cron_job.minute.on(40) 

     file_cron.write() 
関連する問題