这问题够隐蔽,折腾了近两个小时。
命令 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
- #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就生成了!
比如运行一个脚本的时候出现错误,提示:
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的安装目录