如何在windows 10和11上的wsl中自动启动cron

Windows有几种自动化任务的方法。最常见的工具是Windows任务调度器,但如果您使用的是Windows Subsystem for Linux(WSL),那么还有cron守护程序,它在后台运行WSL安装的任务。...

Windows有几种自动化任务的方法。最常见的工具是Windows任务调度器,但如果您使用的是Windows Subsystem for Linux(WSL),那么还有cron守护程序,它在后台运行WSL安装的任务。

默认情况下cron未运行

在Windows 10和Windows 11上,cron包含在Ubuntu等Linux环境中。问题是WSL不会自动启动cron,这意味着默认情况下不会执行自动任务。

为了解决这个问题,您可以在每次打开命令行时手动启动cron,但手动启动一个应该自动执行任务的工具有点说不过去。

幸运的是,有一种简单的方法可以解决这个问题,这需要使用任务调度器。

如果您从未在Linux中使用cron来运行任务,请查看我们之前的教程,了解如何在Linux上调度任务。出于我们的目的,我们将假设您已经在WSL安装中创建了一些cron作业,您需要帮助确保它们运行,而不是一直照看cron。

在本教程中,我们将使用sudo服务来检查和启动cron,这是在最流行的WSL发行版Ubuntu的现代版本上停止和启动服务的推荐方法。

此外,请注意,本教程假定您对WSL版本具有管理员权限。如果您是PC的唯一用户,并且您自己启用了WSL,那么您确实拥有管理员权限。

Tip: This works in the Windows Subsystem for Linux on Windows 11, too—not just on Windows 10.

相关:如何在Linux上安排任务:Crontab文件简介

准备linux

我们要做的第一件事是允许计算机在没有密码的情况下启动cron。当您启动类似cron的服务时,可以使用命令sudo service cron start。但该命令需要密码,Windows启动时无法访问该密码。解决此问题的方法是关闭此命令的密码要求。

为此,打开WSL终端窗口并键入sudovisudo。按键盘上的Enter键,输入Linux密码,然后再次按Enter键。如果您使用的是Ubuntu,这将使用初学者友好的Nano命令行文本编辑器打开“sudoers”文件。Sudoers是系统管理员的文件,可以更改用户的权限和访问权限。

将以下命令添加到sudoers文件的底部,然后按Ctrl+o保存文件,按Ctrl+x退出文件。

%sudo ALL=NOPASSWD: /usr/sbin/service cron start

这个sudoers命令表示,任何有足够权限使用sudo命令的用户(应该包括您)都不需要密码来运行命令sudo service cron start,该命令将启动cron守护程序。

保存文件后,可以通过键入sudo service cron start来检查命令是否正在执行其任务,并且它应该在不要求密码的情况下启动cron。如果成功,让我们再次关闭cron,这样我们就可以测试下一步创建的任务是否正常工作。为此,请运行sudo服务cron stop。

在windows任务调度程序中设置cron

这是我们迈向cron自动化的第一阶段。让我们继续学习任务调度器的第2部分。点击键盘上的Windows键,然后搜索“任务计划程序”。启动“任务计划”快捷方式。

启动时,查看“操作”部分,然后选择“创建基本任务”

这将打开基本任务向导。首先,它将要求您命名任务并对其进行描述。你可以在这里输入你想要的任何内容。我们将任务称为“cron”,描述为“在系统启动时启动cron的任务”。现在,点击“下一步”

在下一节中,我们开始谈生意。首先,Windows希望知道何时运行该任务。选择“计算机启动时”单选按钮,然后单击“下一步”

在下一节中,我们需要“启动程序”。默认情况下,该选项处于选中状态,因此单击“下一步”

现在,我们必须指定要运行的程序,即WSL。在“程序/脚本”文本输入框中输入以下内容:C:\Windows\System32\wsl.exe

我们还需要添加一些参数,因为到目前为止我们所做的只是启动WSL,但在WSL内部,我们需要告诉Ubuntu启动cron。因此,在“Add Arguments”框中,添加:sudo/usr/sbin/service cron start

再次点击“下一步”,选中“单击完成时打开财产对话框”复选框,然后单击“完成”

任务已创建,但我们必须做最后一件事,以确保一切正常。将打开一个新窗口,其中显示您创建的任务的摘要,但它仅设置为在您登录时运行。我们需要选择显示“运行用户是否登录”的单选按钮,然后按“确定”

现在,让我们用两种方式测试我们的任务。首先,在任务调度器的主窗口中,向下滚动直到看到任务名称。如果您使用了名称“cron”,那么应该可以在列表的顶部找到它。右键单击任务并选择“运行”

然后,返回WSL终端并输入sudo服务cron状态,它应该会显示cron正在运行。如果不是,请再次检查您在前面的步骤中输入的所有内容是否正确。

如果在第一次检查中一切正常,那么是时候进行大测试了。重新启动PC,当您返回时,打开WSL终端并运行sudo服务cron状态,该状态应报告cron正在运行。

祝贺您已经迈出了迈向更大、自动化世界的第一步。当cron在后台运行时,您在WSL中配置的cronjobs将自动按计划运行。

  • 发表于 2023-02-19 08:31
  • 阅读 ( 31 )
  • 分类:互联网

你可能感兴趣的文章

windows与linux:以下是它们的共同点

... 人们喜欢指着Windows,为这个功能或是这个功能是如何从Linux或Mac中被盗而哭泣。但是,微软在1985年就率先推出了一个Windows1.0的功能:Alt+Tab开关。 ...

  • 发布于 2021-03-14 16:05
  • 阅读 ( 287 )

Windows10中LinuxBashShell快速指南

...更多的特性。了解更多关于Bash-on-Windows的信息,从您应该如何以及为什么安装它,到您可能不知道的隐藏特性。 ...

  • 发布于 2021-03-17 01:06
  • 阅读 ( 196 )

为什么windows提供linux内核会改变一切

... 随着最近态度的一些变化,包括开源visualstudio代码,Windows开始接受Linux。Windows Linux子系统(WSL)是Windows中Linux的一个集成虚拟版本。 ...

  • 发布于 2021-03-20 05:49
  • 阅读 ( 204 )

Windows10的21h2更新有什么新内容,即将到来的2021年冬季

...DoH的好处,而无需任何修改。 相关:HTTPS(DoH)上的DNS将如何提升在线隐私 设置应用程序中的dns配置 Windows10的设置应用程序现在允许您配置DNS服务器和DoH设置。以前设置自定义DNS服务器需要访问classic控制面板。 要查找DNS(以...

  • 发布于 2021-03-31 15:13
  • 阅读 ( 268 )

windows 10 2019年11月更新的新增功能,现已推出

11月12日,微软发布了代号为19H2的Windows10 2019年11月更新。也被称为Windows10Version1909,这是迄今为止最小、最快的Windows10更新。它实际上只是一个服务包。 要安装更新,请转至“设置”>“更新和安全”>“Windows更新”。单击...

  • 发布于 2021-04-03 06:07
  • 阅读 ( 215 )

如何在windows10的internetexplorer中打开旧网页

...决方案”,而不是一个你应该使用的现代网络浏览器。 如何在ie中从edge打开网页 如果使用Microsoft Edge,则可以在必要时在Internet Explorer中快速打开网页。 为此,请单击“功能表”>“更多工具”>“使用Internet Explorer打开”...

  • 发布于 2021-04-03 06:26
  • 阅读 ( 497 )

Windows10四年:我们最喜欢的15项改进

...新iCloud。我们希望Dropbox和Google Drive也能采用它。 相关:如何在Windows10的秋季创建者更新中按需使用OneDrive的文件 与**集成 在放弃Windows Phone之后,微软终于可以专注于将Windows 10与人们实际使用的智能**集成。而且它有:Windows10...

  • 发布于 2021-04-03 07:40
  • 阅读 ( 216 )

如何在Windows10中访问linux(wsl)文件

...源管理器和其他应用程序中访问和使用Linux文件。下面是如何获取Windows子系统的Linux文件。 与以前的方法不同,这是一种处理Linux文件的安全方法!Windows在后台发挥了一些魔力,使得从Windows应用程序编辑Linux文件成为可能,而不...

  • 发布于 2021-04-03 10:02
  • 阅读 ( 166 )

如何在Windows10上导出和导入linux系统

...已配置的系统,与其他计算机共享,或者只保存备份。 如何工作 导入和导出功能是在2019年5月的Windows10版本1903更新中添加的。如果尚未安装,则无法使用这些命令行选项。 您只需要为Windows wsl命令提供两个新选项:--export和--i...

  • 发布于 2021-04-03 10:24
  • 阅读 ( 190 )

Windows10的2019年5月更新中的所有新功能,现在可用

...019年5月21日开始推出,并于2019年6月6日提供给所有人。 如何获取2019年5月的更新 微软正在为这个新的更新使用批量推出策略,所以它不会立即对每个人都可用,但应该很快就会可用。下面是如何得到它。 打开Windows Update,您...

  • 发布于 2021-04-04 00:57
  • 阅读 ( 278 )
neojdg
neojdg

0 篇文章

相关推荐