windows
首先是熟悉的图形界面,以下的细节需要注意:
- 如果server有固定重启的习惯, 且长时间都无用户登录的话,建议勾选“不管用户是否登录都要运行”。 这样任何时候只要符合运行条件,它都会运行。
- 有时候因为组策略的关系,勾选“不管用户是否登录都要运行”后,按确定会出现异常提示“指定的登录会话不存在.它可能已被终止” 。需要检查安全选项中的“网络访问:不允许存储网络身份验证的密码和凭据”
- 如果计划任务的操作是运行某个bat, 需要在“起始于”加上bat的基本路径,不然可能运行失败。
- 如果是每天都要运行的bat, 建议勾选“如果任务运行时间超过以下时间,停止任务”
- 建议启用历史记录。
命令行
新增 ,仅在特定时间运行一次
#新增一个名称为WINTERSUMMER的排程,在2017/11/05早晨7点运行一次,路径D:\icetech\tcdata\batch\SummerWinter.bat ,并且指定了用户名和密码,相当与“不管用户是否登录都要运行”
#注意,2008及以前的server版本没有地方可以指定“起始于”, 命令执行完后还是需要手动再射一次,感觉有点奇怪。另外,2012及以后的版本还没弄清楚有没有加这个参数,请各位评论告诉我,谢谢。
schtasks /create /ST 07:00 /SC ONCE /TR D:\ice\batch\SummerWinter.bat /TN WINTERSUMMER /SD 2017/11/05 /RU administrator /RP 密码
新增 ,每日运行
schtasks /create /ST 05:25 /SC DAILY /TR D:\ICE\run_0525.bat /TN run_0525 /SD 2019/11/12 /RU administrator /RP 密码
修改排程的到期日
schtasks /change /TN run_0505 /ED 2019/11/11 /RU administrator /RP 密码
修改排程的运行时间
SCHTASKS /change /TN "run_US" /ST 05:20 /RP 密码
删除排程
schtasks /delete /TN WINTERSUMMER /F
在2003中,用命令生成的计划任务不能用界面修改。估计现在也没人用03了吧。
powershell中可以直接运行这些命令,无需在前面加上./
Linux
Crontab -e
进入编辑页面
* * * * * command
分钟 小时 日 月 天(0-7) 执行的命令
例如
0,30 8-19 5 * mon-wed reboot
#每月4号与周一到周三的 8~19点之间 每个半小时重启一次
#*/n 每隔n分钟/小时执行一次 已经更正并验证
日志文件 /var/log/cron