Как мне выполнить эту задачу cron с Mac? - PullRequest
0 голосов
/ 30 ноября 2018

У меня есть скрипт bash, который я могу выполнить с помощью cd ~/Documents/Code/shhh/ && ./testy, если я нахожусь в каком-либо каталоге на моем компьютере, и он успешно передает github, что я и хочу.

Я пытаюсь запланировать работу cron, чтобы делать это ежедневно, поэтому я запустил crontab -e, который открывает нано-редактор, а затем я поставил 30 20 * * * cd ~/Documents/Code/shhh/ && ./testy для ежедневного запуска в 22:30 и нажал кнопку управления O, введитеи контролировать X. Но все же этого он не выполнил.Когда я набираю crontab -l, он показывает мою команду, и у меня появляется сообщение You have new mail., когда я открываю новое окно.Тем не менее, моя команда не выполняется, даже если она будет выполняться из любого другого каталога.

Я думаю, что моя работа в crontab на /var/at/tmp, поэтому я запустил 30 20 * * * cd ../../../Users/squirrel/Documents/Code/shhh/ && ./testy, но все равно ничего, даже если он работает, когда я сам выписываю его из этого каталога.Sidenote, я не могу войти в папку tmp даже после использования sudo

OK Когда я набираю mail Я вижу много сообщений и внутри я получаю эту ошибку

---------------Checking Status of 2--------------- [master 0c1fff8] hardyharhar 1 file changed, 1 insertion(+), 1 deletion(-) fatal: could not read Username for 'https://github.com': Device not configured

Ответы [ 2 ]

0 голосов
/ 30 ноября 2018

crontab -e вообще не редактирует файл crontab «вживую» - изменения сохраняются в активном файле только после сохранения изменений и при выходе из редактора.

Это такжеПохоже, вы используете неправильные пути к каталогам.Команда в записи crontab обычно выполняется, начиная с домашнего каталога пользователя.Поэтому, если ваш домашний каталог - / Users / squirrl, команда cd ../parent_directory/ попытается перейти в / Users / parent_directory.Я подозреваю, что это не то, что вам нужно.

Наконец, обратите внимание, что задания cron выполняются в очень минимальной среде, без запуска большинства ваших обычных файлов установки оболочки (например, .bashrc).В частности, если ваш сценарий использует какие-либо команды, которых нет в / bin или / usr / bin, вам нужно либо использовать явные полные пути к ним, либо изменить переменную PATH, чтобы включить каталоги, в которых они находятся.

0 голосов
/ 30 ноября 2018

Когда вы по умолчанию открываете nano Input_file, он открывает его в режиме INSERT (в отличие от vi, где мы должны явно перейти в режим INSERT нажатием клавиши i).Теперь, когда вы сделали CTNRL+O, он спросит вас, хотите ли вы сохранить изменения в открытом файле или нет, например, -> File Name to Write: Input_file Если вы нажмете ENTER, то он сохранит его и вернется на экран (к вашемуInput_file), где вы ввели новую строку.Теперь вы можете нажать CONTRL+X, чтобы выйти из Input_file.Может быть, вы застряли после сохранения и хотите выйти и попробовать один раз?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...