Не работает cron mac os

Как запустить задание cron на Mac?

Как я могу заставить мой Mac (с самой последней ОС) выполнять задачу автоматически один раз в день? Например, я бы хотел, чтобы он автоматически загружал копию этого учебника по алгебре с открытым исходным кодом раз в день. У меня есть ощущение, что какая-то комбинация wget и cron должна работать, но, прогуглив и прочитав документацию cron, я просто не смог заставить ее работать правильно.

Я думаю, что в OS X вы должны использовать launchctl для «заданий cron».
Но в противном случае ваша задача должна быть легко сделать с помощью cronjob
sudo crontab -e
55 23 * * * wget http://www.math.columbia.edu/algebraic_geometry/stacks-git/book.pdf

Это должно работать каждый день в 23:55

Обновить

Вы должны указать выходное местоположение WGET с -O /path/to/file

Демон cron может быть активирован простым:

Затем желательно ввести полный путь к вашему / usr / local / bin / wget (или где бы он ни находился). Крон не знает о $ PATH вашего пользователя. Надеюсь, это поможет.

Вы можете использовать Cronnix, который является бесплатным графическим интерфейсом для cron:

Если вы находите синтаксис командной строки (и т. Д.) Слишком запутанным / загадочным, вы можете обратиться к инструменту с графическим интерфейсом для просмотра / редактирования / создания этих заданий.

В прошлом я использовал Lingon , который теперь доступен и в Mac App Store. Мне не нужно использовать это очень часто, но это очень полезно, когда я делаю!

Более элегантным решением (чем cron) является использование уведомлений iCal + Applescript.

Сначала запустите AppleScript Editor (находится в / Application / Utilities) и вставьте следующий код:

Сохраните скрипт и выйдите из редактора applecript.

Откройте свой iCal и создайте новое событие на сегодня, установив желаемое время, выберите «повторить: каждый день» и в качестве будильника «Запустить сценарий» и выберите ваш скрипт.

Если вы хотите получать уведомления о каждой загрузке, вы можете добавить еще одну тревогу с «Сообщение со звуком», «в дату».

Я рекомендую макароны . Его преимущество заключается в том, что когда вы запускаете задание один раз в день, оно запускается, когда ваш компьютер включен, независимо от времени. Таким образом, вы не пропустите работу, потому что компьютер был выключен в указанное время.

Macaroni — это инструмент, который обеспечивает регулярное обслуживание Mac OS X, включая процесс восстановления прав Mac OS X, а также обслуживание в стиле Unix. Вы могли бы сделать это самостоятельно, но разве у вас нет более интересных вещей, связанных с вашим временем?

Источник

А что это в хвалёной макоси не работает cron?

содержимое рутового кронтаба:

00-59 22-23 * * * shutdown -h now

ожидаю, что каждый день после 10 часов вечера крон должен вырубать комп, ан нет.

ну и кто там рассказывал сказки о том, какой макось прекрасный юникс?

Читайте также:  What is windows driver pack

линукс тут при том, что у него крон работает как надо, в отличие от.

Раньше, iirc cron не был включён по умолчанию. И его надо было разрешать отдельно.

Новый cron — это теперь launchd. И он вроде должен сам подхватывать, если есть /etc/crontab

чот подозрительный у тебя кронтаб, ты уверен, что он верен?

Если не так то где логи?

Вот что мне нравится в Linux, это то, что если я где, то просрал т в логах будет шум.

Открой для себя console (так и называется).

Ты что мне говоришь? Я говорю что я если просру кронтаб то получу выхлоп. А он говорит что вложил в кронтаб душу и в чем там проблема?

Ты спрашивал, где логи? Ну вот там их все видно.

Ну тогда в чем вопрос? Если есть логи то реши проблему и все. Этож тебе не Винда с сообщением «Не могу соедениться с эксчейндж червером

не, не подхватывает

разве? вроде всё правильно. м.б. где и накосячил, конечно.

с этого места поподробнее, если можно

что каждый день после 10 часов вечера вырубать комп

Ну про то, что использовать cron не рекомендуется, ибо для этого есть более вменяемые средства типа launchd, уже сказали.

Но у меня вопрос тупее. А чем вариант не устроил — зайти в настройки питания системы и там это расписание через гуй вбить? Или слишком некрасноглазо?

В макосе крон не нужен, ты как-то не правильно пытаешься ей пользоваться.

Источник

cron и at не работают

На моем Mac (да, да, я знаю. Но моя коробка с Linux работает) по какой-то причине cron и at не хотят работать. Они оба регистрируют, что задания были добавлены, без синтаксических ошибок или каких-либо проблем. Затем проходит время, и никто ничего не делает.

52 18 * * * username touch

Это должно было начаться в 6:52 вечера по тихоокеанскому времени, но этого не произошло. Зачем?

Для at , я сделал: at 6:48 pm где jobs выглядит следующим образом:

И ничего не случилось. Мысли?

2 ответа 2

Моя ставка — в том, что путь для cron недостаточно инклюзивен, чтобы включать прикосновение — либо добавьте директиву пути к cron, либо используйте полный путь для прикосновения

Вы смотрели в свой почтовый ящик с mail ? Вы, вероятно, найдете там сообщения об ошибках от cron . Я обнаружил ожидаемую ошибку при запуске cron до того, как создал скрипт для его запуска. Одним из полезных элементов информации были параметры среды, которые часто имеют отношение к этим проблемам. Я получил информацию:

Другая проблема, которую я вижу, это ваша командная строка:

Что такое команда username ? Это не то, что я нахожу на моем Mac (MacOS X 10.7.2). Он находится в /usr/bin или /bin на вашем компьютере? Если нет, велики шансы, что его не найдут.

Сценарий /Users/jleffler/bin/Cron/minutely на моем компьютере представляет собой сценарий (символическая ссылка на a), который читает профиль — я называю мой .cronfile — и затем выполняет команду /Users/jleffler/bin/minutely , все на основе на базовое имя файла в каталоге Cron . Это устанавливает мой PATH на что-то более полезное, чем системный PATH, предоставляемый cron .

Читайте также:  Windows live папка с сообщениями

Источник

How to Fix Cron Permission Issues in macOS Big Sur, Catalina, & Mojave

Some advanced Mac users may have noticed that certain shell scripts with cron, cron jobs, and crontab are either not working at all, or not able to function properly in the newest versions of MacOS, notably Mojave 10.14, Catalina 10.15, macOS Big Sur 11, and later. Depending on the situation, this may be accompanied by a permissions error, an operation not permitted error, or a script or cronjob may simply fail silently in the background. While there are numerous reasons a cronjob may fail, strict security measures in the latest MacOS releases may also be at fault and cause problems for some users.

This article will walk through resolving cron permissions issues with the latest versions of MacOS, including macOS Big Sur, Catalina, and Mojave.

Note this is aimed at advanced Mac users only. If you don’t use cron and have permission related issues with it, then you will not want to make any of these modifications.

How to Grant cron Full Disk Access in MacOS

If cron is having permissions issues in the latest versions of MacOS, you will need to grant cron full disk access on the Mac. Here’s how to do this:

  1. Open System Preferences from the  Apple menu, then choose “Security & Privacy”
  2. Go to the “Privacy” tab, then select “Full Disk Access” from the side menu options
  3. Click the lock icon in the corner and authenticate with an admin password to grant permission to modify Full Disk Access settings
  4. Now from the Finder in MacOS, pull down the “Go” menu and choose “Go To Folder”

  • Enter the path: /usr/sbin/cron and choose Go
  • Drag and drop “cron” into the list of apps and processes with Full Disk Access permission, ‘cron’ should now appear in the list

  • Close out of System Preferences and the open Finder sbin window when finished
  • While you’re in the same settings section, you may also want to add the Terminal application to the Full Disk Access options to fix “Operation not permitted” Terminal error that can also be encountered by the new security measures in MacOS, and perhaps smbd too if you rely on it for networking.

    As mentioned before, this is for advanced users only, and you should not grant apps, processes, or anything else Full Disk Access if you do not know exactly what you’re doing and why you’re doing it. Cron is able to run processes automatically with full root access in the background on a Mac, which has obvious legitimate uses as well as security implications, so if you aren’t specifically needing that ability then you should not adjust this setting.

    You can always revoke Full Disk Access at any time in MacOS by returning to the settings and adjusting accordingly. Similarly, you can also adjust and control what apps can access files and folders on the Mac. These security features are best left alone by most users, but advanced users often tweak these settings to accommodate specific apps and activity on their computers.

    Читайте также:  Moving the files in linux

    Cron is quite powerful and it can be used for all sorts of automation, backups, scripting, and other advanced activity, you can always check crontab for scripts and change the default crontab editor if you’d like too.

    Did this help resolve any cron issues you were experiencing on new versions of Mac OS? Do you have any particular tips or tricks for cron? Share your thoughts and experiences in the comments.

    Источник

    Как я могу заставить скрипт запускаться каждый день на Mac OS X?

    Cron? Запуск программ? ческий ??

    Если так, то как?

    10 ответов 10

    Для справки, все 3 варианта будут работать. Однако опция iCal имеет больше ограничений, чем другие.

    (Есть графические интерфейсы для редактирования cron и launchd, как упоминалось в других ответах)

    Cron — самый прямой и хорошо известный, и есть много доступных учебников. Coles Notes должен добавить последнюю строку снизу к вашему crontab (либо отредактировав /etc/crontab либо используя crontab в командной строке):

    В Mac OS X cron фактически был заменен launchd но launchd обратно совместим с cron означает, что вы все еще можете использовать cron но он фактически launchd выполняя всю работу.

    Если вы хотите использовать launchd вы также можете проверить другие вопросы здесь, в Super User: (например. Как запустить команду launchd от имени пользователя root?) где вы хотите сохранить файл конфигурации (plist-файл), так как время его запуска зависит от того, в каком каталоге он хранится и как он загружается (например, использовали ли вы sudo или нет) — аналогично cron.

    Ниже приведен пример запуска ежедневного запуска запусков (убедитесь, что файл и метка совпадают — минус список для метки). Этот сценарий запускается ежедневно в 3 минуты после полуночи:

    Стоит также отметить, что запущенные задачи, если они были запланированы на то время, когда компьютер спит или выключен, будут запускаться, когда компьютер снова станет доступным (его включение или пробуждение) — хотя только один раз, независимо от того, сколько дней он может иметь было. Изменить: Я только что был в документе Apple, в котором говорилось, что если машина выключена, то вы потеряете все события запуска в течение этого времени, (ваш скрипт не запустится при запуске), (сон запускает скрипт при пробуждении)

    Другой вариант — использовать « at » (проверьте страницу руководства с «man at»). Скрипт может перепланировать себя, например:

    (используйте «+ 10 минут» вместо «завтра», чтобы запускать его каждые 10 минут; чтобы остановить планирование, просто выполните «at -l», чтобы получить список идентификаторов запланированных заданий, а затем «at -r id », чтобы удалить задание).

    Возможно, вам придется сначала запустить соответствующий демон (atrun) с (см. Https://superuser.com/a/43680):

    Преимущества: быстрое исправление, отсутствие доступа к sudo/root, простое создание сложных шаблонов расписаний. Недостаток: нестандартный метод планирования для OS X (который запускается)

    Источник

    Оцените статью