apple-mac-os:macos-ventura:automatic-synchronization-of-files-and-directories-on-macos
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
apple-mac-os:macos-ventura:automatic-synchronization-of-files-and-directories-on-macos [21.07.2023 10:05] – Виталий Якоб | apple-mac-os:macos-ventura:automatic-synchronization-of-files-and-directories-on-macos [08.11.2023 20:41] (текущий) – Виталий Якоб | ||
---|---|---|---|
Строка 2: | Строка 2: | ||
{{: | {{: | ||
+ | В данном примере выполняется синхронизация перечисленных каталогов в ~/ | ||
- | Сохраним **AppleScript** скрипт в расположении '' | + | Сохраним **AppleScript** скрипт в расположении '' |
<code applescript Sync folder to removable disk.scpt> | <code applescript Sync folder to removable disk.scpt> | ||
on adding folder items to this_folder after receiving MountedVolumes | on adding folder items to this_folder after receiving MountedVolumes | ||
- | set SyncRootFolder to " | + | set SyncRootFolder to " |
- | repeat with MountedVolume in MountedVolumes | + | |
- | tell application " | + | tell application " |
- | --Имя раздела внешного диска | + | |
- | set RemovableDiskName to " | + | |
- | if (local volume of disk MountedVolume) and (name of disk MountedVolume is RemovableDiskName) then | + | |
- | --Имена синхронизируемых каталогов | + | --Имена синхронизируемых каталогов |
- | set SyncFolders to {¬ | + | set SyncFolders to {¬ |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | repeat with SyncFolder in SyncFolders | + | repeat with SyncFolder in SyncFolders |
- | --Синхронизация | + | |
- | my StartSync(SyncRootFolder, | + | |
- | end repeat | + | end repeat |
- | --Раскомментировать, | + | --Раскомментировать, |
- | --my UnmountDisk(RemovableDiskName) | + | --my UnmountDisk(RemovableDiskName) |
- | end if | + | |
- | end tell | + | end tell |
- | end repeat | + | end repeat |
end adding folder items to | end adding folder items to | ||
--Обработчик синхронизации | --Обработчик синхронизации | ||
on StartSync(SyncRootFolder, | on StartSync(SyncRootFolder, | ||
- | --Источник | + | --Источник |
- | set SourcePath to quoted form of (POSIX path of (path to documents folder as text) & SyncRootFolder & "/" | + | set SourcePath to quoted form of (POSIX path of (path to documents folder as text) & SyncRootFolder & "/" |
- | --Назначение | + | |
- | tell application " | + | tell application " |
- | try | + | try |
- | do shell script "rsync -au --delete" | + | do shell script "rsync -au --delete" |
- | delay 1 | + | delay 1 |
- | display notification " | + | display notification " |
- | " | + | |
- | on error ErrorMessage | + | on error ErrorMessage |
- | set ErrorMessage to do shell script " | + | set ErrorMessage to do shell script " |
- | display dialog " | + | display dialog " |
- | return & " | + | |
- | end try | + | end try |
end StartSync | end StartSync | ||
- | --Обработчик размонтирования накопителя | + | --Обработчик размонтрования накопителя |
on UnmountDisk(RemovableDiskName) | on UnmountDisk(RemovableDiskName) | ||
- | delay 5 | + | delay 5 |
- | tell application " | + | tell application " |
end UnmountDisk | end UnmountDisk | ||
</ | </ | ||
Строка 65: | Строка 66: | ||
{{ : | {{ : | ||
- | |||
- | Для синхронизации каталогов по заданному расписанию, | ||
Строка 73: | Строка 72: | ||
^ Версия ОС ^ | ^ Версия ОС ^ | ||
| Apple macOS Ventura (13.0) | | Apple macOS Ventura (13.0) | ||
+ | | Apple macOS Sonoma (14.0) | ||
---- | ---- |
apple-mac-os/macos-ventura/automatic-synchronization-of-files-and-directories-on-macos.txt · Последнее изменение: 08.11.2023 20:41 — Виталий Якоб