# Linux Crontab ## Python-Crontab - Install ```pip install python-crontab``` ### Create ```python= from crontab import CronTab cron = CronTab(user='nafeem_haque') job = cron.new(command='cd && echo hello_world > checktest.txt', comment="id1-xxyyzz") job.minute.every(1) cron.write() print(cron) ``` ### Update ```python= from crontab import CronTab cron = CronTab(user='nafeem_haque') print(cron) for job in cron: if job.comment == 'id1-xxyyzz': job.command = 'cd && echo hello_world12 > checktest.txt' cron.write() print(cron) ``` ### Remove ```python= from crontab import CronTab cron = CronTab(user='nafeem_haque') print(cron) for job in cron: if job.comment == 'id1-xxyyzz': cron.remove(job) cron.write() print(cron) ``` #### Supports - Single User - Global - Find By Comment - Find By Time Format #### Works - By Creating Temp File - Then Move ## Crontab #### Supports - Writes it to tmp file - Checks if correct - Then moves it to location ## Crontabs-Evatix - Supports Global - Issue With Single User (Update File OwnerShip) - Writing Works - Issue With Updating - Supports Line Editing - Supports Exact Match Editing - Can be upgraded ## Options To Solve 1. Remove Entirely And Create 2. Current With Issue - If Non Existent - Touch - Write - Change Ownership - Chmod 600 - If Exists - Change Ownership (Issue Here) - Write - Change Ownership Back. 3. Write To Temp File Then Move (Need Implementation) ``` sudo crontab -u b abc.txt ```