Setting up a cron job in Windows
I have to download a 开发者_开发技巧file from an SFTP server everyday. I have the program which retrieves the file from the server but I was thinking of setting up a cron job (or anything similar) to automate that. We are a Windows shop and need to set up the cron job in Windows.
The windows equivalent to a cron job is a scheduled task.
A scheduled task can be created as described by Alex and Rudu, but it can also be done command line with schtasks
(if you for instance need to script it or add it to version control).
An example:
schtasks /create /tn calculate /tr calc /sc weekly /d MON /st 06:05 /ru "System"
Creates the task calculate, which starts the calculator(calc) every monday at 6:05 (should you ever need that.)
All available commands can be found here: http://technet.microsoft.com/en-us/library/cc772785%28WS.10%29.aspx
It works on windows server 2008 as well as windows server 2003.
- Make sure you logged on as an administrator or you have the same access as an administrator.
- Start->Control Panel->System and Security->Administrative Tools->Task Scheduler
- Action->Create Basic Task->Type a name and Click Next
- Follow through the wizard.
There's pycron which I really as a Cron implementation for windows, but there's also the built in scheduler which should work just fine for what you need (Control Panel -> Scheduled Tasks -> Add Scheduled Task).
http://windows.microsoft.com/en-US/windows7/schedule-a-task
maybe that will help with windows scheduled tasks ...
If you don't want to use Scheduled Tasks you can use the Windows Subsystem for Linux which will allow you to use cron jobs like on Linux.
To make sure cron is actually running you can type service cron status
from within the Linux terminal. If it isn't currently running then type service cron start
and you should be good to go.
I would like to thank @Vincent Stevenson, @s-hunter
Go to Control Panel --> Administrative Tools --> Task Scheduler--> Create Task
Task Scheduler, Create Task
Give the Task a title
Go to Actions
Go to CMD to find the path,
Python, import sys, sys.executable
(this tells you what the Program/script field should be populated with: "some path with Appdata mostly")
like:C:\Users\admin\AppData\Local\Programs\Python\Python38-32\python.exe
Arguments: name of the python script (like run.py)
Start in: dir location of python script (like:C:\Users\admin\Documents\my_python_project)
Go to Triggers, schedule as you like
Test the script by running it
There are also cmdlets in powershell for this:
https://learn.microsoft.com/en-us/powershell/module/scheduledtasks/new-scheduledtask?view=windowsserver2022-ps#example-2-define-a-scheduled-task-with-multiple-actions
The linked example:
PS C:\> $actions = (New-ScheduledTaskAction -Execute 'foo.ps1'), (New-ScheduledTaskAction -Execute 'bar.ps1')
PS C:\> $trigger = New-ScheduledTaskTrigger -Daily -At '9:15 AM'
PS C:\> $principal = New-ScheduledTaskPrincipal -UserId 'DOMAIN\user' -RunLevel Highest
PS C:\> $settings = New-ScheduledTaskSettingsSet -RunOnlyIfNetworkAvailable -WakeToRun
PS C:\> $task = New-ScheduledTask -Action $actions -Principal $principal -Trigger $trigger -Settings $settings
PS C:\> Register-ScheduledTask 'baz' -InputObject $task
精彩评论