A friend who is familiar with Linux should know that you can use Crontab to set timed tasks in Linux. You can write a task by crontab-e the command. Of course, you can also write configuration files directly to set up tasks.
But sometimes you want to automate the setup of scripts, such as when we deploy the application. There is a need to find a way to solve, or in the process of ape mixed (a group of amused ape).
Let's get down to business, and start by adding a single line to the configuration file by setting it as a write file. But read and write files inevitably a bit cumbersome, and then for example: Set up tasks to check whether the task already exists, according to the input parameters to set the corresponding tasks. It's not appropriate to read and write files. So think of "omnipotent" big python.
When when, today's protagonist plays: Python-crontab module. Install Direct
$ pip Install Python-crontab
Here's a quick script to set up a scheduled task.
From crontab import crontab
# Create crontab for the current user, and of course you can create other users, but have sufficient permissions
My_user_cron = crontab (user=true)
# Create task
job = my_user_cron.new (command= ' echo date >> ~/time.log ')
# Set task execution cycle, execute once every two minutes
job.setall (' */2 * * * * * * * * *
of course also support other more humane settings, simply enumerate some
job.minute.during (5,50). Every (5)
job.hour.every (4)
Job.day.on (4, 5, 6)
Job.dow.on (' Sun ')
job.dow.on (' Sun ', ' FRI ')
job.month.during (' APR ', ' NOV ')
Job.setall (Time (10, 2))
Job.setall (Date (4, 2))
Job.setall (DateTime, 4, 2, 2)
# at the same time you can set comment for the task, This can be based on comment query, very convenient
job.set_comment ("Time Log Job")
# According to the comment query, then the return value is a generator object, can not directly based on the return value to determine whether the task # exists, If you just judge if the task exists, you can traverse my_user_cron.crons
iter = my_user_cron.find_comment (' Time log job ')
It also supports searching according to command and execution cycle, basically similar, no longer enumerates
# task disable and enable, default enable
job.enable (False)
job.enable ()
# finally writes crontab to the configuration file
My_user_cron.write ()
The following can be viewed by command to create a success:
Very convenient, there are some features not fully introduced, you can refer to the official documents Https://pypi.python.org/pypi/python-crontab
The above is the entire content of this article, I hope to help you learn, but also hope that we support the cloud habitat community.