我的机器上有两个Python scripts
我希望在特定时间段内每天执行两次StyleBundle
。如何自动执行此任务?由于我将离开家,因此我的计算机暂时离开,我想将它们上传到一个站点,并在那里自动执行而不需要我做任何事情。
我该怎么做?
答案 0 :(得分:13)
如果您使用的是Linux计算机,则可以使用cron
。 Cron是一个系统守护程序,用于在特定时间执行特定任务。
cron
的工作原理是crontab
,这是一个文本文件,其中包含要在指定时间运行的命令列表。它遵循特定格式,可在man 5 crontab
每个部分用空格分隔,最后一部分有一个或多个空格。第1-5节中不允许有空格,仅在它们之间。第1-5节用于指示您希望执行任务的时间和频率。这是一个cron工作的布局:
分钟(0-59),小时(0-23,0 =午夜),白天(1-31),月(1-12),工作日(0-6,0 =星期天),命令
01 04 1 1 1 /usr/bin/somedirectory/somecommand
上面的例子将在1月1日上午4:01和1月的每个星期一运行/ usr / bin / somedirectory / somecommand。可以使用星号(*),以便使用时间段的每个实例(每小时,每个工作日,每月等)。代码:
01 04 * * * /usr/bin/somedirectory/somecommand
以上示例将在每个月的每一天凌晨4:01运行/ usr / bin / somedirectory / somecommand。
逗号分隔值可用于在一段时间内运行特定命令的多个实例。划线分隔值可用于连续运行命令。代码:
01,31 04,05 1-15 1,6 * /usr/bin/somedirectory/somecommand
以上示例将在每年1月和6月1日至15日凌晨4:00和凌晨5:00的01和31日运行/usr/bin/somedirectory/somecommand
。
" / usr / bin / somedirectory / somecommand"上面示例中的文本表示将在指定时间运行的任务。建议您使用所需命令的完整路径,如上例所示。在终端中输入 which somecommand
,以查找 somecommand 的完整路径。 crontab将在正确编辑和保存后立即开始运行。
您可能希望每个时间单元运行一些脚本。例如,如果您想每10分钟运行一次,请使用以下crontab条目(在可被10:0,10,20,30等整除的几分钟内运行)
*/10 * * * * /usr/bin/somedirectory/somecommand
这也相当于更麻烦的
0,10,20,30,40,50 * * * * /usr/bin/somedirectory/somecommand
答案 1 :(得分:4)
在Windows中,我提出了两种解决方案。
第1步
创建.bat文件以指示要运行的命令以及将要执行的脚本文件,例如:
start C:\Users\userX\Python.exe C:\Users\userX\PycharmProjects\Automation_tasks\create_workbook.py
第2步
打开任务计划程序并单击任务计划程序库以查看当前执行的任务。单击“创建任务”选项。
第3步
在“常规”选项卡中,输入新任务的名称并单击选项Run whether user is logged on or not
,选中Run with highest privileges
选项,并确保设置适当的操作系统版本(在我的情况下,我选择Windows 7, Windows Server 2008 R2
。
第4步
在“操作”选项卡中,单击“新建”按钮,然后键入以下内容:
在程序/脚本中,您需要查找任务计划程序将调用以运行.bat文件的Powershell路径。就我而言,我的Powershell路径是:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
在添加参数(可选)中,您需要键入将由Powershell执行的文件的路径。就我而言,路径是:
C:\Users\userX\Desktop\run_the_bat_file.bat
在开始(可选)中,您需要输入文件的路径但不包含.bat文件的名称,即:
C:\Users\userX\Desktop\
第5步
单击“触发器”选项卡,然后选择执行此任务的频率。
第6步
最后,通过从任务计划程序库中选择它并单击“运行”选项来测试您的任务,看它是否真的有效。
第1步
打开任务计划程序并单击任务计划程序库以查看当前执行的任务。单击“创建任务”选项。
第2步
在“常规”选项卡中,输入新任务的名称并单击选项Run whether user is logged on or not
,选中Run with highest privileges
选项,并确保设置适当的操作系统版本(在我的情况下,我选择Windows 7, Windows Server 2008 R2
。
第3步
在“操作”选项卡中,单击“新建”按钮,然后键入以下内容:
在程序/脚本中,您需要查找任务计划程序将调用以运行python脚本的Python.exe路径。就我而言,我的Python.exe路径是:
C:\Users\userX\python.exe
在添加参数(可选)中,您需要仅键入您的python脚本的名称。就我而言,路径是:
Permissions_dump.py
在开始(可选)中,您需要键入文件的路径但不包含python脚本的名称,即:
C:\Users\userX\PycharmProjects\1099_vendors_costs
第4步
单击“触发器”选项卡,然后选择执行此任务的频率。
第5步
最后,通过从任务计划程序库中选择它并单击“运行”选项来测试您的任务,看它是否真的有效。
参考文献:
答案 2 :(得分:1)
如果您使用的是OSX,那么launchd是安排任务的首选方式。有一个名为launchctl的针对launchd的OSX CLI,但是如果您更喜欢GUI,我首选的是launchcontrol。