crontab 不能执行git命令问题备忘
2015-06-01 10:54
295 查看
这问题够隐蔽,折腾了近两个小时。
命令 git checkout tagname 手工执行都正常
但在crontab运行时发现分支一直切不过去。
后来告诉是crontab默认的 path 设置和系统自身的有区别
git 命令放在 /usr/local/bin/ 目录
而crontab 却在 /sbin:/bin:/usr/sbin:/usr/bin 这几个目录下找,当然运行不了 git 命令了
目前解决办法是手工添加git路径前辍
/usr/local/bin/git checkout tagname
[python] view plaincopy
#cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
whereis git
git: /usr/local/bin/git
Linux提示no crontab for root的解决办法:
比如运行一个脚本的时候出现错误,提示:
no crontab for root
网上也搜出了一大堆的解决办法,但是每一个是我想要的。
经过自己研究才发现解决办法很简答!就是没有crontab嘛,建一个就是咯。
解决办法:
1、登录到root用户。
2、在root下输入:crontab -e
3、可能会提示你:
no crontab for root - using an empty one
然后会叫你“Select a editor ......”下面有几个选项,就是叫你选择编辑器。我一般选 vim.tiny
4、进入crontab编辑页面之后就直接"shift+:",然后输入wq保存即可。
然后一个新的crontab就生成了!
使用which git来查询git的安装目录
命令 git checkout tagname 手工执行都正常
但在crontab运行时发现分支一直切不过去。
后来告诉是crontab默认的 path 设置和系统自身的有区别
git 命令放在 /usr/local/bin/ 目录
而crontab 却在 /sbin:/bin:/usr/sbin:/usr/bin 这几个目录下找,当然运行不了 git 命令了
目前解决办法是手工添加git路径前辍
/usr/local/bin/git checkout tagname
[python] view plaincopy
#cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
whereis git
git: /usr/local/bin/git
Linux提示no crontab for root的解决办法:
比如运行一个脚本的时候出现错误,提示:
no crontab for root
网上也搜出了一大堆的解决办法,但是每一个是我想要的。
经过自己研究才发现解决办法很简答!就是没有crontab嘛,建一个就是咯。
解决办法:
1、登录到root用户。
2、在root下输入:crontab -e
3、可能会提示你:
no crontab for root - using an empty one
然后会叫你“Select a editor ......”下面有几个选项,就是叫你选择编辑器。我一般选 vim.tiny
4、进入crontab编辑页面之后就直接"shift+:",然后输入wq保存即可。
然后一个新的crontab就生成了!
使用which git来查询git的安装目录
相关文章推荐
- 用css3实现自定义效果复选框--不用js
- 使用ajax和history.pushState无刷新改变页面URL
- Meter 上传apk文件后,何时,如何调用服务器的解析方法 与结果处理
- 《Linux内核设计与实现》之中断与中断处理程序
- 使用Delphi实现JNI - 实例
- 什么是真正的实时操作系统
- Git PHP提交
- JDK 环境变量配置 -- Path classpath
- 电商术语
- MySQL性能优化之 延迟关联
- 微博背后的那些算法
- VS2010下如何改变Button颜色、背景、边框
- xbmc遥控音量加处理过程总结
- WEB安全之SQL注入
- SAP ERP项目各模块设计重点
- VB.net进阶培训及阶段总结
- What, exactly, is a Product Manager?
- sparkshell里的wordcount
- Linux基础:进程管理
- 如何在程序中写log日志(定义log级别:error,warn, info, debug; 宏定义打印不同级别的日志; 程序中引用宏定义即可)