Intereting Posts
Почему промежуточным каталогом также называется Index / Git Index? Автоматическое добавление номера выпуска Github ко всем коммитам Безопасная перезапись удаленной ветви (источника) Мое имя не связано на странице Github commits Как создать ветвь в subversion, исключая определенные файлы? Как сделать git-репозиторий таким же, как папка на моем компьютере как обновить URL подмодуля во всех коммитах Как получить доступ к файлам в VSTS Source Repo во время определения выпуска? Идентифицировать устаревшие отрасли, когда коммиты были раздавлены Должен ли я удалить сгенерированную платформу / папку из моего отслеживаемого кода? Какой лучший сброс git / git checkout Как управлять ветвью параллельного выпуска git без централизованного удаленного хранилища Git bash не может получить доступ к домашнему каталогу на новой машине Рекомендации по управлению разрешениями файлов после развертывания

find: git: Нет такого файла или каталога через скрипт в crontab

Я пытаюсь создать сценарий для запуска в crontab, но у меня возникают проблемы с местами команд, когда я пытаюсь использовать его под демонами crontab.

Уже сделали некоторые тесты со сценарием и, похоже, работают нормально.

Вот:

# I add this cd because of crontab location cd ~/Documents/gitrepobackup/ find . -type d -depth 1 -exec git --git-dir={} --work-tree=$PWD/{} fetch origin \; >> git_backup_update.log 2>&1 

И это результат, который я получаю в этом журнале:

 find: git: No such file or directory 

Это также запись, которую я добавил в crontab:

 * * * * * ~/Documents/gitrepobackup/git_backup_update.sh 

Кто угодно?

Как вы можете прочитать на http://man.cx/crontab(5) , PATH среды PATH установлена ​​в /usr/bin:/bin . Если git не находится в одном из этих мест, ваш скрипт не найдет его. Если вы хотите, чтобы ваша собственная PATH среды PATH установлена, вы можете ее сконфигурировать или использовать неразрешенные пути к исполняемым файлам, которые не найдены в PATH .

Есть и другие способы сделать это, но поскольку у меня были проблемы с git, я сделал,

 which git 

узнайте, где он был, и просто добавьте местоположение в git,

 find . -type d -depth 1 -exec /usr/local/git/bin/git --git-dir={} --work-tree=$PWD/{} fetch origin \; >> git_backup_update.log 2>&1