任务计划是计算机 *** 作系统的关键组成部分。根据任务计划,计算机可以自动帮助我们在一定标准下开始实际 *** 作以达到目标。
匹配像今天的智能电饭煲这样的日常生活,你每天早上都要吃早饭,但是你不想做,就用智能电饭煲做一个常规 *** 作。每天早上七点,用文火给我熬粥,然后起床吃饭。计算机 *** 作系统中的任务计划也是互通的定义。实际意义是靠系统自动帮助大家达成目标,不用每次都亲力亲为。
任务规划一般用于计算机 *** 作系统或后端应用软件,如按时执行审批和收集脚本、按时形成硬件配置报告、按时解决应用软件缓存文件等。
高级计算机用户可以使用任务规划来完全自动地帮助你完成某件事情。比如你知道今天下午三点要做一件事,但是三点没有急事,你可以做一个任务计划,系统会及时自动帮你。
公司的IT管理员可以用任务计划来辅助大家收集和监控自动化技术的网络服务器,或者必须重复执行的实际 *** 作。
通过使用任务规划,开发人员可以完全自动地按时执行应用软件所需的设备,例如按时启动一个exe和按时解决一个缓存文件。
当我们要求一个任务计划时,一般是指计划一些事情,然后做一些事情,而不仅仅是一个计划。所以电脑上的任务计划和日历提醒是不一样的。说白了,提醒软件只是提示你做某件事,并不容易帮你做到。
任务规划在Windows服务器和Windows客户端上都存在。一开始我记得是在Server2000上看到的。那时候叫任务规划。直到2003年,2003年的任务规划和2000年差别不大。当建立任务计划时,运行一个指南来指定日常任务要执行的程序流。日常任务的运行周期时间,每天,每周,每月,一次性,电脑启动登录时,执行日常任务的登录密码,在 *** 作面板-任务计划的文件夹名下可以看到建立后的任务计划。
在Sever2008和vista期间,任务规划得到了改进,更名为任务规划程序流,并转移到可视化工具。其中比较既定的任务规划分为三个层次:触发原则-实际 *** 作-标准。启动任务计划应该考虑哪些前提条件,启动后应该进行哪些实际 *** 作,在进行实际 *** 作前必须考虑哪些标准。比如可以设置成只在电脑 *** 作系统空的空闲时间执行这些,对于在页面顶部显示信息更友好。适用于显示日常任务的历史时间执行记录,适用于导出日常任务和导入日常任务。
在哪个时期,不像今天的微软没有powershell3.0,DSC,SCO这些自动化技术的强大专用工具。当时微软本身并没有太多自动化技术的专用工具。所以,如果管理者不得不执行一些自动化技术管理方法的实际 *** 作,一般会选择ps1任务计划、VBS任务计划、BAT任务计划,写一个脚本,然后互相配合,按时执行。
在Powershell3.0和WindowsServer2012中,任务计划程序的流程得到了进一步改进。根据Powershell管理方法立即建立任务调度更加灵活方便。
示例:
注册任务计划很实用,注册的工作不容易因为Powershell的控制面板关闭而褪色。
register-scheduledjob-Namequerydriver-scriptblock{driverquery}
建立任务计划的实际 *** 作参数
$job=Get-scheduledjob-Namequerydriver
建立任务计划触发器的原则
每五天中午七点半。
$jobtrigger=New-jobtrigger-Daily-At"19:30PM"-daysinterval5
任务规划实际 *** 作中分配触发器的原则
$job=Get-scheduledjob-Namequerydriver|Add-jobTrigger-Trigger$jobTrigger
Powershell建立的任务计划会在后台进行多线程执行管理,也是在最底层启用。只是基于powershell,管理方式更加灵活。建立的任务计划可以在日常任务管理流程taskschd.msc中看到,Powershell建立的任务计划位于Windows-Powershell-ScheduledJobs文件夹中。
查询任务计划
get-scheduledjob-Namequerydriver
删除任务计划
get-scheduledjob-Namequerydriver|Unregister-scheduledjob
禁止使用任务计划
get-scheduledjob-Namequerydriver|Disable-scheduledjob
以上,我们简单谈了一下任务计划的前因后果,最新的2012年刚刚开始应用Powershell管理方法。下面,我们选择主题风格和集群任务计划。
2012年动态大数据中心时期也加了。虽然每个人都有按照powershell管理方式进行任务规划的功能,但是只能在每个设备上进行。如果是大规模集群,就需要将任务计划复制到其他节点上。如果节点太多,就太不方便了。根据集群对任务计划的安排,提出了三种在集群内安排任务计划的方法。
所有节点:在集群中申请注册任务计划,将执行过程放在集群共享资源的硬盘上。当达到启动标准时,任务计划将在任意节点上执行,适用于集群审批日志、报表采集、应用软件加热等需求。不需要在每个节点上都执行。如果一个节点执行,如果前一个节点的服务器宕机,下次会选择其他所有正常节点执行。
特殊资源:在集群中申请注册任务计划,将执行过程放在集群共享资源的硬盘上。当达到启动标准时,任务计划将在集群的特定资源上自动执行。这种任务计划与集群资源相关联,任务计划将在资源转移到的节点上执行。如果删除资源,日常任务也会被删除,这适用于对集群的硬盘进行碎片整理的实际 *** 作。默认情况下,它是针对CSV的。始终执行磁盘碎片整理的实际 *** 作并不容易。如果你在CSV上存储了大量的动态VHDX,建议设置一个这样的每日任务,按时全面自动进行磁盘碎片整理,这样有助于CSV完善特性。
集群范围:在集群中注册任务规划应用,将执行过程放在集群共享资源的硬盘上。当达到开放标准时,任务规划过程将在所有合理的集群节点上执行。例如,如果您希望在登录到所有节点时打开一个或一组特殊工具,您可以将这种日常任务添加为集群范围日常任务。
自2012年以来,已经导入了为集群调度日常任务的功能。现阶段,所有集群调度日常任务的管理方法只是基于powershell方法。以下
Get-ClusteredScheduledTask查看群集的日常任务
register-ClusteredScheduledTask适用于注册集群的日常任务。
Set-ClusteredScheduledTask升级已经申请注册的集群的日常任务。
unregister-ClusteredScheduledTask取消注册集群日常任务的申请。
在这个例子中,我举了一个例子,用一种特殊的资源建立一个集群调度任务计划
1.建立安排的实际 *** 作。
$action=New-scheduledtaskaction-ExecuteC\clusterstorage\volume2\1.bat
下面,我练习了CSV的碎片整理。因为属于集群硬盘,所以在对CSV执行磁盘碎片整理指令前,需要将其设置为跳转模式,梳理后再修复。
2.建立调度触发器的原则,每周五晚上十一点执行
$trigger=New-scheduledtasktrigger-每周-周五-23:00
3.申请注册调度实际 *** 作和调度触发原则来集群调度日常任务。
register-clusteredscheduledTask–ClusterHVClus–TaskNameCSVDefrag–TaskTypeResourceSpecific–Resource“ClusterHardDisk3”–Action$Action–Trigger$Trigger
其他类型TaskType主要参数:AnyNode,ClusterWide,申请注册后不能更改日常任务类型。
群集计划应用程序注册的任务计划将在任务计划程序进程-Windows-故障转移群集文件夹名称中显示信息。该文件夹名称在集群调度任务计划建立前是隐藏的,日常任务建立后会显示该信息。虽然UI页面也可以建立日常任务,但是UI页面建立的任务计划并没有集群调度的实际效果,只是作为单机版使用。当节点被群集逐出时,该文件夹名称的所有日常任务都将被删除。
设置完集群调度日常任务后,我们可以看到,只有在资源用户节点中,这种特殊的资源调度日常任务是就绪的,其他节点上也会显示集群调度日常任务的信息,但是禁止使用。
资源移动到12HV02后,集群调度任务计划在12HV01上是禁止的,在12HV02上是准备好的。
根据节点类型安排好日常任务,任何一个节点都会准备好。如果该节点的服务器出现故障,所有其他正常节点将会准备就绪。
集群类别安排日常任务,这些任务将在所有节点上准备就绪。当触发原则是标准时,所有节点将一起执行。如果节点被逐出集群,则安排好的日常任务会被自动删除。
老孙把集群调度任务计划的 *** 作流程放在这里的集群共享资源的硬盘上,因为这里高可用。考虑到你也可以尝试把 *** 作流放在所有节点的本地磁盘的同一个部分。
查看群集中所有计划的任务计划。
get-ClusteredScheduledTask–集群hvclus
查看集群中的特殊资源调度任务计划。
get-ClusteredScheduledTask–ClusterHVClus–tasktype资源特定
检查集群中特殊名称的调度任务计划
get-ClusteredScheduledTask–ClusterHVClus–TaskNamecsvdefrag
升级群集协调任务计划
变更触发原则标准
$trigger=New-scheduledtasktrigger-每天22:00
升级任务计划
set-ClusteredScheduledTask–ClusterHVClus–TaskNamecsvdefrag-Trigger$Trigger
检查调度任务计划触发的原则标准
(Get-ClusteredScheduledTask-TaskNamecsvdefrag).taskdefinition.triggers。
取消集群调度任务计划的注册申请,取消后日常任务将从各节点删除。
unregister-ClusteredScheduledTask-ClusterHVClus-TaskNamecsvdefrag
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)