在 WSL 中设置定时任务可以使用 Linux 中常用的 cron 工具。
crontab -e :编辑当前用户的定时任务
##0 14 * * * 表示任务运行的时间,依次表示分钟、小时、日、月、周。
00 14 * * * cd /root/niwanjia && sh reconcile.sh >> /root/niwanjia/my.log 2>&1
crontab -l: 查看当前用户的定时任务列表。
编写执行的脚本文件 reconcile.sh
因为执行curl命令携带了参数,所以必须得用双引号"" 将链接包含起来,这样程序才能够正常执行get请求,否则会有问题
get请求
#!/bin/bash
echo 'start run'
startDate=$(date -d "1 day ago" +%Y-%m-%d)
curl "http://my.test.net/reconcile/handle?start=${startDate}&end=${startDate}"
echo 'finish run'
post请求
startDate=$(date -d "1 day ago" +%Y-%m-%d)
curl "http://my.test.net/reconcile/handle?start=${startDate}&end=${startDate}"
curl http://my.test.net/reconcile/handle -X POST -d "start=${startDate}&end=${startDate}"
启动cron服务
sudo service cron start
重启cron服务
service cron restart
停止cron服务
service cron stop