1

Я хочу настроить скрипт Python для запуска каждый рабочий день (не воскресенье и суббота) на моем Mac OSX 10.8.4. Из того, что я нашел до сих пор, похоже, что я хочу использовать cron. Но прежде чем я сделаю что-то ужасное с моим компьютером, кто-нибудь может подтвердить, что я сделаю то, что хочу?

>>> crontab -e
>>> 30 4 * * 1-5 python /Users/lego90511/PycharmProjects/Stock Scanner/stock_scanner.py

Если это как-то работает, скажите, пожалуйста, как я могу удалить его из хрон?

2 ответа2

1

Это должно работать, но замените Stock Scanner на Stock\ Scanner . Вы можете отменить изменения, запустив crontab -e и просто удалив строку. Если вы не изменили EDITOR и не знаете, как использовать vi , вы можете использовать EDITOR=nano crontab -e .

Поэтому, в основном, запустите crontab -e (или EDITOR=nano crontab -e) и добавьте следующую строку:

30 4 * * 1-5 python ~/PycharmProjects/Stock\ Scanner/stock_scanner.py

Формат crontab описан в man 5 crontab .

Используя launchd, вы можете сохранить этот список как ~/Library/LaunchAgents/test.plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>test</string>
  <key>ProgramArguments</key>
  <array>
    <string>python</string>
    <string>/Users/lego90511/PycharmProjects/Stock Scanner/stock_scanner.py</string>
  </array>
  <key>StartCalendarInterval</key>
  <array>
    <dict>
      <key>Weekday</key>
      <integer>1</integer>
      <key>Hour</key>
      <integer>4</integer>
      <key>Minute</key>
      <integer>30</integer>
    </dict>
    <dict>
      <key>Weekday</key>
      <integer>2</integer>
      <key>Hour</key>
      <integer>4</integer>
      <key>Minute</key>
      <integer>30</integer>
    </dict>
    <dict>
      <key>Weekday</key>
      <integer>3</integer>
      <key>Hour</key>
      <integer>4</integer>
      <key>Minute</key>
      <integer>30</integer>
    </dict>
    <dict>
      <key>Weekday</key>
      <integer>4</integer>
      <key>Hour</key>
      <integer>4</integer>
      <key>Minute</key>
      <integer>30</integer>
    </dict>
    <dict>
      <key>Weekday</key>
      <integer>5</integer>
      <key>Hour</key>
      <integer>4</integer>
      <key>Minute</key>
      <integer>30</integer>
    </dict>
  </array>
</dict>
</plist>

Затем загрузите plist, запустив launchctl load ~/Library/LaunchAgents/test.plist или выйдя из системы и вернувшись обратно. Вы можете применить изменения к списку, выгрузив и загрузив его.

Обратите внимание, что и cron, и launchd используют 24-часовые часы. Если вы имели в виду 4 часа дня вместо 4 часов утра, замените значения часов на 16.

0

Посмотрите на Хейзел.

Это приложение, которое я использую для всех своих потребностей в автоматизации. Я очень рекомендую это.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .