可能有一些乱,但是不影响整体思路。
安装 wsl
首先在windows上 打开 启动或关闭windows功能 选择 适用于 Linux 的 windows 子系统 打勾
然后取 windows应用市场 搜索 wsl ,下载你喜欢的一个 linux子系统
我这边安装了一个 debian,一个ubuntu。
如果你没有开启适用于 Linux 的 windows 子系统 是无法安装的。
记得一定要安装windows terminal 这个太提升体验了
配置linux子系统
进入 debian系统
挂载windows和linux的共享盘
可以先在linux子系统和windows之间建立一个共享盘
挂载 windows D盘的wsl_linux 到 debian到 win10目录
1 | ln -s /mnt/d/wsl_linux ~/win10 |
换国内源
清华源地址:https://mirrors.tuna.tsinghua.edu.cn/help/debian/
这是debian10
在windows中 创建一个 sources.list ,同样也可以在linux下创建,看你喜欢
把内容直接复制到sources.list 里面,因为无法拉去 https ,所以可以吧所有的https改为http
1 | # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 |
然后把 文件复制到 /etc/apt中
1 | sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak |
此时debian的系统就调试的差不多了。
设置定时任务 crontab 及其权限
设置定时任务 crontab ,因为crontab定时任务的命令网上太多了一搜一大堆,我这里就不复制,粘贴了。
编辑定时任务
1 | # 第一次 他需要让你选择打开使用的编辑器 选择 vim就好了 或者 选择自己熟悉的 |
我的这个任务是每天晚上九点 执行一次。
因为执行命令需要root权限。我们需要设置执行我们这个命令时候,不需要输入密码。
设置 visudo ,定时任务权限
1 | # 打开 visudo |
此时定时任务就可以起飞了,同时把任务日志保存一下,看看是不是真的运行了。同时运行有什么问题,也可以处理。** >> /var/log/cf_log.log** 注意创建此文件同时注意权限 chmod 777 cf_log.log
关闭linux子系统,windows开机启动
但是这样当我们关闭windows子系统的时候,整个就关闭了,就没有什么定时任务了,因此我们要创建一个windows的开启任务。
在windows下:
win+R 输入 shell:startup 打开目录
新建一个 快捷方式
输入 C:\Windows\System32\wsl.exe sudo /etc/init.d/cron start
你发现这个命令和我们上面visudo的添加第一个命令一致,但是我开机启动时,还是要让我输入密码。。。
需要输入密码是因为wsl默认启动我的ubuntu,修改默认启动顺序,如果你只有一个系统就不会出现这个情况或者你用的系统是你第一个安装应该也是没有问题的
查看、修改默认系统
1 | PS C:\Users\dfk> wslconfig /list |
命令帮助:
1 | 对 Windows 上的 Linux 子系统进行操作管理 |
最后再次执行 快捷方式 看看 要不要密码
不要了 完美了。。。。。。
查看windows是否开启
查看 任务管理系统,里面有没有一个cron的进程,有就是成功了的。
参考: