Starting cron under wsl2
There are a lot of "recipes" out there for how to start cron
under wsl
when a Windows PC starts up. I won't bore you with why I wanted to do that. Suffice to say, the recipes didn't work for me. But eventually, I found a way.
The recipes have two parts to them. First set things up so any user under WSL can start the cron
service. This means editing /etc/sudoers
and adding a line like:
%sudo ALL=(ALL) NOPASSWD: /usr/sbin/service cron start
The second step revolves around setting up a task in Window's taskmgr
to run on system boot up. This task wouldn't work for me … it would run and fail. The recipes set things up to lauch the following command.
C:\Windows\System32\wsl.exe /usr/sbin/service cron start
But that produced an error for me. E.g.,
C:\Windows\System32\wsl.exe /usr/sbin/service cron start
Starting periodic command scheduler: croncron: can't open or create /var/run/crond.pid: Permission denied failed!
What I found was that I needed to explicitly use the sudo
command to start the service
command. Changing the taskmgr
job to the following resulted in success. Yay!
C:\Windows\System32\wsl.exe /usr/bin/sudo /usr/sbin/service cron start