crontab 不能执行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在CODE上查看代码片派生到我的代码片
 
  1. #cat /etc/crontab   
  2. SHELL=/bin/bash  
  3. PATH=/sbin:/bin:/usr/sbin:/usr/bin  
  4. MAILTO=root  
  5. HOME=/  
  6.   
  7. # run-parts  
  8. 01 * * * * root run-parts /etc/cron.hourly  
  9. 02 4 * * * root run-parts /etc/cron.daily  
  10. 22 4 * * 0 root run-parts /etc/cron.weekly  
  11. 42 1 * * root run-parts /etc/cron.monthly  
  12.   
  13. whereis git  
  14. 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的安装目录
原文地址:https://www.cnblogs.com/kenshinobiy/p/4543443.html