go 在crontab里面运行报错 解决方案
问题背景
你高高兴兴的写好了一个go脚本,放到你的服务器上,打算定期运行这个脚本,你打开crontab -e,
然后输入:
*/1 * * * * go run /root/test/main.go
然后发现迟迟没有反应,你就查看一下输出什么错误:
*/1 * * * * go run /root/test/main.go >> /root/test/log.txt
然后报错如下:
build command-line-arguments: cannot load test/mypath: malformed module path "test/mypath": missing dot in first path element
missing dot in first path element ? What ? 你会好奇,你明明使用了:
go mod init test
go mod tidy
然后你测试了一下,如果cd /root/test/,然后run 是非常正常的,
一旦在非/root/test/目录下,就会出现这种路径报错问题,
类似的问题还有:
➜ root go run /Users/thoth/program/gocode/alarm15m/main.go
alarm15m/main.go:12:2: package alarm15m/mypath is not in GOROOT (/usr/local/go/src/alarm15m/mypath)
alarm15m/main.go:13:2: package alarm15m/tools is not in GOROOT (/usr/local/go/src/alarm15m/tools)
Xxx is not in GOROOT , 总是在导包上出问题!
这b玩意,为啥这样,我也不知道,我也不想研究他(每天的学习任务安排很满,我觉得这种就是特定语言特定的场景没必要,通识性知识才是重要的,这种Xxx语言我一天就会切换3~4种,很难每个都去研究,完成任务就好),估计就是有他路径设置的考虑,管他呢,反正有一点确定的就是在项目路径下执行一定是成功的,基于这个很确定的点,我想到一些曲线救国方案。
解决
直接写sh脚本
run.sh
#!/bin/sh
cd /root/test/
go run main.go
crontab -e
*/15 * * * * bash /root/test/run.sh
完美解决。
go 在crontab里面运行报错 解决方案的更多相关文章
- Scrapy运行报错解决方案
最近在学习Scrapy框架,用博客记录一下遇到的错误的解决方案 时间: 2016-9-20 错误:ImportError: No module named items 原因:spiders下的.py文 ...
- Flutter运行报错 `kernel_snapshot for errors` 解决方案
Flutter运行报错 `flutter kernel_snapshot for errors`解决方案 当你Flutter项目删除了dart文件如果遇到 target:kernel_snapshot ...
- appium运行报错java.net.SocketException: socket write error
这个错我调了 快两天一点头绪没有,脚本正常跑没问题,但是就是控制台输出信息报错,没法定位问题在哪.报错如图: 虽然这个报错不影响测试结果,但是本人有强迫症,一定要查出究竟: 我的尝试: 1.那天试验, ...
- Quartz框架调用——运行报错:ThreadPool class not specified
Quartz框架调用——运行报错:ThreadPool class not specified 问题是在于Quartz框架在加载的时候找不到quartz.properties配置文件: 解决方案一: ...
- 转:CentOS上安装LAMP之第三步:MySQL环境及安装过程报错解决方案(纯净系统环境)
这是AMP运行环境中最后配置的环境: 惯例传送门: 1.编译安装MySQL cd /home/zhangatle/tar tar zxvf mysql-.tar.gz cd mysql- cmake ...
- SpringBoot-使用lombok插件运行报错
SpringBoot-使用lombok插件运行报错 标签(空格分隔): java,SpringBoot 1.报错信息 2.解决方案 1.IDEA编辑器安装lombok插件 2.编译注解配置-Enabl ...
- Eclipse开发Android项目报错解决方案详细教程,最新版一篇就够了!
本文记录刚接触Android开发搭建环境后新建工程各种可能的报错,并亲身经历漫长的解决过程(╥╯^╰╥),寻找各种偏方,避免大家采坑,希望能帮助到大家. 报错信息 出错一:The import and ...
- Robotframework学习笔记之—Rrobotframework运行报错“command: pybot.bat --argumentfile”
Rrobotframework运行报错"command: pybot.bat --argumentfile" 解决方案: 1.可能是缺失文件: 1.1.检查python安装目录下的 ...
- macaca运行报错之chrome-driver问题处理,关闭 Chrome 的自动更新
由于chrome浏览器自动更新,导致 macaca运行报错,重新安装和更新chrome-driver 之后,还需要把chrome浏览器降级到50版本: 但是chrome会自动更新,所以需要禁止.找到这 ...
随机推荐
- 牛客网暑期ACM多校训练营(第二场)message
传送门:https://ac.nowcoder.com/acm/problem/16631 题意 对于直线y=ax+b,给出n个的a[i]和b[i].m次询问,每次询问给出直线y=cx+d的c[i]和 ...
- Musical Theme POJ - 1743 后缀数组
A musical melody is represented as a sequence of N (1<=N<=20000)notes that are integers in the ...
- c语言中qsort函数的使用、编程中的一些错误
qsort()函数: 功能:相当于c++sort,具有快排的功能,复杂度的话nlog(n)注:C中的qsort()采用的是快排算法,C++的sort()则是改进的快排算法.两者的时间复杂度都是nlog ...
- Codeforces Round #668 (Div. 2) B. Array Cancellation (思维,贪心)
题意:有一个长度为\(n\)并且所有元素和为\(0\)的序列,你可以使\(a_{i}-1\)并且\(a_{j}+1\),如果\(i<j\),那么这步操作就是免费的,否则需要花费一次操作,问最少操 ...
- 一篇文章图文并茂地带你轻松学完 JavaScript 设计模式(二)
JavaScript 设计模式(二) 本篇文章是 JavaScript 设计模式的第二篇文章,如果没有看过我上篇文章的读者,可以先看完 上篇文章 后再看这篇文章,当然两篇文章并没有过多的依赖性. 5. ...
- .net面试--值类型和引用类型
注:下面的示意图主要是为了辅助理解,不代表内存真实情况. Introduction 类型基础是C#的基础概念,了解类型基础及背后的工作原理更有助于我们在编码的时候明白数据在内存中的分配与传递.C#提供 ...
- 动态链接库(DLL)的创建和使用
最近想做个记录日志的C++库,方便后续使用.想着使用动态库,正好没用过,学习下.概念这里不赘述.学习过程中碰到的几点,记录下来.学习是个渐进的过程,本文也是一个逐渐完善的过程. 一.Static Li ...
- 男孩周末班-k8s-架构图
k8s-三层网络结构图 k8s-核心组件原理图 k8s-服务架构图 k8s-部署架构 小结 RBAC 用户账户: 角色: role(普通角色),只能运行在特定名称空间下 clusterrole,对集群 ...
- kubeadm---高可用安装
1.修改主机名 如何使用hostnamectl set-hostname name来为每台主机设置不同的机器名 #hostnamectl set-hostname k8s-master01 或者使用以 ...
- 2.了解nginx常用的配置
作者 微信:tangy8080 电子邮箱:914661180@qq.com 更新时间:2019-07-10 20:56:10 星期三 欢迎您订阅和分享我的订阅号,订阅号内会不定期分享一些我自己学习过程 ...