Intereting Posts
Какой стиль вы используете для своих сообщений о совершении? Технический или функциональный? Зарегистрировать пакет для пайки с приставками GitHub Как выбрать Visual SVN в качестве поставщика исходного кода Справочные файлы из одного хранилища в другой Капистрано изредка не вытягивает git repo Как построить OpenSSL и Git из источника? Обмен данными между svn-крючками как я могу сотрудничать с моим партнером в среде Visual Studio? Как переместить локальный репозиторий Git (с историей), который будет управлять Gitosis на удаленном сервере? Развертывание из gitlab на собственный сервер через GitLab CI и SSH Клон после первоначального нажатия? post-receive git hook не работает из командной строки Будет ли развертывание Git через Beanstalk повлиять на разрешения на размещение каталога WordPress? Запустить скрипт bash на мастерской солонки до миньона Могу ли я уничтожить каталог из истории svn, который отличается только чувствительностью к регистру?

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