linux和windows的任务计划

hkt 发布于 2025-09-09 55 次阅读


前言

任务计划对于备份和自动化脚本来说是非常重要的一个操作,它可以做到通过指定的条件、时间、启动方式来运行一个程序和文件。所以说记录和掌握任务计划的使用至关重要,可提高今后的工作效率,维护次数等。

linux中的任务计划

Linux 计划任务(Cron)是系统管理中最常用和最重要的功能之一。它允许你在固定的时间、日期或间隔自动执行命令或脚本。在 Linux 中,计划任务主要通过 cron 这个系统服务来实现,而用户使用用 crontab 这个命令来管理自己的计划任务列表。

一、核心概念

  1. cron 守护进程:一个在后台运行的系统服务,负责检查并执行计划任务。
  2. crontab 文件:一个文本文件,里面定义了任务列表。每个用户(包括 root)都有自己的 crontab 文件。
  3. crontab 命令:用于安装、查看、编辑和删除 crontab 文件的工具。

编辑当前用户的计划任务

crontab -e #这是最常用的命令,它会打开一个文本编辑器(如 vi 或 nano)来让你编辑任务列表。

二、常用命令

crontab -e  #编辑当前用户的计划任务
crontab -l  #查看当前用户的计划任务
crontab -r  #删除当前用户的所有计划任务
sudo crontab -u www-data -e #为其他用户管理计划任务
sudo crontab -u www-data -l

三、crontab 时间格式详解(如何编写任务行)

crontab 文件的每一行都是一个任务,格式如下:

  • * * * * command-to-be-executed
    │ │ │ │ │
    │ │ │ │ └─── 星期 (0 - 7) (0 和 7 都代表星期日)
    │ │ │ └────── 月份 (1 - 12)
    │ │ └───────── 日 (1 - 31)
    │ └─────────── 小时 (0 - 23)
    └───────────── 分钟 (0 - 59)

时间字段的特殊符号:

符号含义示例说明
*任意值* * * * *每分钟执行一次
,值分隔符(指定多个时间点)0 1,13 * * *每天凌晨1点和下午1点各执行一次
-范围0 9-18 * * *每天上午9点到下午6点之间,每小时执行一次(9点、10点...18点)
/步长(每隔多久)*/5 * * * *每5分钟执行一次
0 */2 * * *每2小时的0分执行一次(0点, 2点, 4点...)

常用示例:

示例命令说明
*/5 * * * * /path/to/script.sh每 5 分钟执行一次脚本 script.sh
0 * * * * /path/to/command每小时的 0 分(即每小时整点)执行一次命令
30 3 * * * /path/to/backup.sh每天凌晨 3:30 执行备份脚本 backup.sh
0 0 * * 0 /path/to/cleanup.sh每周日午夜 (00:00) 执行清理脚本 cleanup.sh
0 9 1 * * /path/to/report.sh每月 1 号的 9:00 执行报告脚本 report.sh
0 20 * * 1-5 /path/to/daily_task.sh周一到周五每天晚上 8:00 执行每日任务脚本 daily_task.sh
@reboot /path/to/on_boot.sh系统启动时 自动执行一次脚本 on_boot.sh
@daily /path/to/daily_job.sh每天凌晨 00:00 执行一次(与 0 0 * * * 等效)

四、操作流程

  1. 规划任务:想清楚任务要在何时执行。
  2. 编写命令:确保你的命令或脚本在命令行中直接测试通过。
  3. 编辑任务:使用 crontab -e 编辑计划任务列表。
  4. 编写时间表:按照 分钟 小时 日 月 星期 命令 的格式添加一行。
  5. 保存退出:保存文件后,计划任务会自动生效。
  6. 验证检查:使用 crontab -l 查看任务列表,并等待任务时间到来观察是否成功执行,或查看系统日志排查问题。

to be countine......

windows中的任务计划

在windows中通过任务计划程序来制定特定时间段的操作。

操作步骤

通过win+r,taskschd.msc打开任务计划

进入任务计划就可以设置特定的时间、条件、程序启动脚本和软件。

全部以中文显示,基本上操作一下就会了。

实战部分

基本信息:

  • 目标:在系统开机时将已创建的bat脚本同意以后台的形式启动
  • 文件类型:.bat,.ps1
  • 脚本程序:PowerShell + WindowStyle Hidden
  • 平台:windows10

1. 准备脚本

把你原来的 ps1 保存到稳定路径(不要放桌面),例如:

编写ps1文件脚本

#每一条表示后台启动一个bat脚本
Start-Process -FilePath "C:\Scripts\自启动frpc.bat" -WindowStyle Hidden
Start-Process -FilePath "C:\Scripts\loophole.bat" -WindowStyle Hidden
Start-Process -FilePath "C:\Scripts\自启动ngrok.bat" -WindowStyle Hidden

2.打开任务计划

按 Win + R → 输入 taskschd.msc → 回车。
在右侧点 创建任务(不要用“基本任务”)。

3.配置任务

常规

  • 名称:自启动脚本
  • 勾选 使用最高权限运行
  • 配置为:你当前的 Windows 版本
  • 用户选项:
    • 如果用 登录时触发 → 保持你自己的账号(如 fhd
    • 如果用 启动时触发 → 改成 SYSTEM(点“更改用户或组” → 输入 SYSTEM → 确定)

触发器:

  • 新建 → 选择 登录时(或者“启动时”)

操作:

  • 程序或脚本:
    • powershell.exe
  • 添加参数:
    • -WindowStyle Hidden -ExecutionPolicy Bypass -File "C:\Scripts\一键自启动.ps1"

⚠️ 注意:

  • -WindowStyle Hidden 保证任务执行时 PowerShell 窗口不会卡在桌面。
  • 路径带空格或中文时,必须用引号 " " 包起来。

4.保存测试

保存任务 → 右键 → 运行,看看后台是否正常启动。
重启电脑,确认不会再出现 PowerShell 窗口。

此作者没有提供个人介绍。
最后更新于 2025-09-10