#!/usr/bin/env python # coding: utf-8 # In[1]: # pip install python-crontab # In[5]: from crontab import CronTab cron = CronTab(user=True) cron # In[8]: # すでに登録されているjobを見る for job in cron: print (job) # In[14]: # ジョブを追加する job = cron.new(command='python3 /mnt/c/workspace/pydev/tweet-analyser/autoLike.py udemy') job.minute.every(1) #1分おきに実行 cron.write() # 設定したjobを見る cron = CronTab(user=True) for job in cron: print(job) # In[ ]: #ジョブを追加する場合 """ job.minute.every(minutes) # 分ごと job.hour.every(hours) #時間ごと """ #ジョブを有効・無効にする """ job.enable() job.enable(False) job.is_enabled() #有効だったらTrueが返る """ # In[21]: # ジョブを検索する progate from crontab import CronTab cron = CronTab(user=True) cron = cron.find_command("autoLike.py progate") for job in cron: print(job) # In[23]: # ジョブを検索する from crontab import CronTab cron = CronTab(user=True) cron = cron.find_command("autoLike.py progate") for job in cron: print(job) # In[26]: # ジョブを削除する cron = CronTab(user=True) cron = cron.find_command("autoLike.py progate") for job in cron: cron.remove(job) print(job) # In[8]: #ジョブを見つけて有効・無効化する from crontab import CronTab cron = CronTab(user=True) cron = cron.find_command("VRChatはじめました") for job in cron: print(job) job.enable() print(job) # In[7]: cron = CronTab(user=True) for job in cron: print(job) # In[4]: from crontab import CronTab cron = CronTab(user=True) for job in cron: print(job) # In[5]: from crontab import CronTab cron = CronTab(user=True) for job in cron: job.enable() # In[6]: cron = CronTab(user=True) for job in cron: print(job) # # わかったこと # # - job.enable()を実行したとしても、その結果がcrontabに保存されるわけではない # - その証拠にもう一度cronオブジェクトからjobを見ると反映されていない # # ```python # from crontab import CronTab # cron = CronTab(user=True) # for job in cron: # job.enable() # ``` # # # 次にやること # # - job.enableしたコマンドを反映する方法を探す # # 試してみる # # - 以下のtab指定でcronオブジェクトつくって、保存するとかできないか試してみる # ``` # mem_cron = CronTab(tab=""" # * * * * * command # """) # ``` # # In[18]: from crontab import CronTab cron = CronTab(user=True) job = cron.find_command("Aidemy") for job in cron: print(job) job.enable() cron.write() # In[19]: cron = CronTab(user=True) for job in cron: print(job) # # 試したこと # # - すでに存在するjob「テックキャンプ」から、find_commandでjobを探して、そのjobをenable()にした # - その結果のcronをwriteを実行して保存した # # # 結果 # - すべてのjobが有効化された # - ただし、選択したjob意外のものも選ばれてしまっている。 # # # 次に試すこと # - 検索したjobのみ無効化できるか試す # # In[21]: cron = CronTab(user=True) jobs = cron.find_command("Aidemy") for job in jobs: print(job) # - こうするとAidemyだけ出てくる。 # - このjobだけ有効化する # In[26]: cron = CronTab(user=True) jobs = cron.find_command("Aidemy") for job in jobs: job.enable(False) print(job) cron.write() # - その後crontabに保存されているか確認する # - これで無効化されていればok # In[27]: cron = CronTab(user=True) for job in cron: print(job) # # 結果 # # - というわけで、jobの無効化に成功した。 # - 最終的に、ピンポイントで有効化できるか確認する # In[29]: cron = CronTab(user=True) jobs = cron.find_command("Aidemy") for job in jobs: print(job) # In[31]: cron = CronTab(user=True) jobs = cron.find_command("Aidemy") for job in jobs: job.enable() print(job) cron.write() # # やりたいこと # # - キーワードの削除時に、crontabのon off関係なく、そのキーワードの単語を削除したい # - 特定のキーワードを検索して削除することができるかどうか確認する # In[1]: from crontab import CronTab cron = CronTab(user=True) for job in cron: print(job) # - テックキャンプのcrontabを削除してみる # In[11]: from crontab import CronTab cron = CronTab(user=True) jobs = cron.find_command("テックキャンプ") for job in jobs: cron.remove(job) cro print(job) # In[12]: from crontab import CronTab cron = CronTab(user=True) for job in cron: print(job)