crontab 不能执行git命令问题备忘

时间:2021-08-14 02:33:39

这问题够隐蔽,折腾了近两个小时。

命令 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

 
 
 
  1. #cat /etc/crontab
  2. SHELL=/bin/bash
  3. PATH=/sbin:/bin:/usr/sbin:/usr/bin
  4. MAILTO=root
  5. HOME=/
  6. # run-parts
  7. 01 * * * * root run-parts /etc/cron.hourly
  8. 02 4 * * * root run-parts /etc/cron.daily
  9. 22 4 * * 0 root run-parts /etc/cron.weekly
  10. 42 4 1 * * root run-parts /etc/cron.monthly
  11. whereis git
  12. 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的安装目录