Запуск скриптов AppleScript по расписанию

Иногда надо запускать скрипты или любые другие действия по расписанию. К примеру запускать синхронизацию с iPhone, открывать рассылку, запускать iTunes и.т.д. Есть несколько вариантов как это сделать.

Способ №1

Некрасивый но простой — создаем событие в iCal и подвязываем к событию что именно выполнить

skipti-po-raspisaniy

 

Способ №2

Изящный, более надженый, но тяжелее — Создание демона, который будет вгружаться в расширение ядра системы. Чтобы это сделать надо:

Открыть TextEdit и перевести его документ в Rich Text (cmd+shft+t) Вбить туда:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?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>Disabled</key>
<false/>
<key>Label</key> <string>com.andrey.SyncMyDeviceAgent</string> <key>Program</key>
<string>/usr/bin/osascript</string> <key>ProgramArguments</key>
<array>
<string>osascript</string> <string>/Users/andrey/Desktop/iTunes restart.scpt</string> </array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>12</integer>
<key>Minute</key>
<integer>40</integer>
</dict>
</dict>
</plist>

И поменять данные на свои, как показанно на картинке ниже.

  1. Имя пользователя (Такое же самое как и название домашней папки)
  2. Местоположение скрипта, к примеру на базе appleScript
  3. Час в который запускать (24-х формат)
  4. минуты
  5. skipti-po-raspisaniy-2

После чего назвать скрипт com.andrey.НАЗВАНИЕ_ДЕМОНА.plist К примеру у меня он com.andrey.iTunesRestartAgent.plist В название демона надо вложиь его действие, чтобы потом было легче отлавливать глюки. Если они будут конечно.

skipti-po-raspisaniy-3

И сохраняем созданный файлик в Жесткий диск/Library/LaunchAgents/ (Не библиотеки пользователя) Перегружаем компьютер. Все! Скрипт запустится в зазначенное время.

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

 

загрузка...

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *