3、问题:如何定时执行winodws上的.sh脚本呢?-2024.8.4(待解决)
问题:如何定时执行winodws上的.sh脚本呢?-2024.8.4(待解决)
背景
我想定时发布docusaurus内容到公网,该如何执行本地xyy2命令呢?
这个xyy2是在git bash终端里可以执行的。
问题
winodws的/d/docusaurus/resource/shell/目录下有个xyy2.sh脚本,如何利用windows的定时任务,让这个脚本周期执行呢?
gpt回答
要在 Windows 上利用任务计划程序(Task Scheduler)定期运行一个 .sh
脚本(例如 xyy2.sh
),需要一些设置步骤,因为 Windows 原生支持的是批处理文件(.bat
)和 PowerShell 脚本(.ps1
),而不是直接支持 Unix 的 shell 脚本(.sh
)。我们可以使用 WSL(Windows Subsystem for Linux)来执行这个脚本。
以下是具体步骤:
-
安装 WSL(如果尚未安装):
-
打开 PowerShell 以管理员身份运行以下命令来安装 WSL 和 Ubuntu:
wsl --install
-
安装完成后,重启你的电脑。
-
-
将 WSL 设置为默认版本(如果需要):
-
在 PowerShell 中运行以下命令:
wsl --set-default-version 2
-
-
编写批处理文件来运行 Shell 脚本:
-
创建一个批处理文件(例如
run_xyy2.bat
),内容如下:@echo off
wsl /mnt/d/docusaurus/resource/shell/xyy2.sh -
这种方式告诉 Windows 使用 WSL 来运行指定路径的 Shell 脚本。
-
-
设置任务计划程序:
- 打开任务计划程序:按
Win + R
,输入taskschd.msc
并回车。 - 在任务计划程序中,选择
创建基本任务
。 - 按照向导进行操作:
- 名称和描述:为你的任务命名,例如 "Run xyy2.sh script"。
- 触发器:设置你希望任务运行的频率(例如每天、每周等)。
- 操作:选择
启动程序
,然后浏览选择你创建的批处理文件run_xyy2.bat
。 - 完成:按完成保存任务。
- 打开任务计划程序:按
-
验证任务:
- 在任务计划程序库中找到你的任务,右键点击选择
运行
,确保任务能够正常执行。
- 在任务计划程序库中找到你的任务,右键点击选择
注意事项
-
路径转换:在 WSL 中,Windows 的盘符被映射为
/mnt
目录下的子目录。例如:D:
盘在 WSL 中的路径为/mnt/d
。 -
执行权限:确保你的 Shell 脚本具有执行权限。在 WSL 中使用以下命令:
chmod +x /mnt/d/docusaurus/resource/shell/xyy2.sh
-
脚本测试:在 WSL 中手动测试你的脚本,确保其能正常运行:
wsl /mnt/d/docusaurus/resource/shell/xyy2.sh
通过这些步骤,你就可以在 Windows 中利用任务计划程序定期执行 Unix Shell 脚本。
测试后,还是有问题哦。。。
结论
先当作遗留把,自己手动推送静态数据把。
2024年8月4日