Як я можу встановити інтервал машини часу на кілька хвилин у Mojave?


4

Я хочу встановити інтервал машини часу на 15 хвилин замість Apple за замовчуванням 1 год.

Я хочу:

  1. Інтервал часу машини 15 хвилин.
  2. Резервне копіювання машини часу повинно відповідати статусу акумулятора / енергії, тобто резервне копіювання не повинно відбуватися, не підключаючись до живлення.

Я спробував, sudo defaults write /System/Library/LaunchDaemons/com.apple.backupd-auto StartInterval -int 1800але це не працює.

Я також спробував відключити csrutilта змінити /System/Library/LaunchDaemons/com.apple.backupd-helper.plistInterval, Delay, GracePeriod, але це також не працює.

Як я можу налаштувати це в Mojave? (Наразі працює 10.14.2)


csrutilє SIP (Захист цілісності системи), і, можливо, хочеться додати, що для наочності
Сем

Відповіді:


5

НВМ я зрозумів це.

Це чудовий час, щоб закінчити відповідь, правда? ...Ні? Гаразд, я покажу вам, у чому тоді була проблема ...

Що потрібно зробити для цього в Мохаве:

  1. відключити csrutil.
  2. sudo vi /System/Library/LaunchDaemons/com.apple.backupd-helper.plist, а потім відредагуйте Interval, Delay, GracePeriod. Я просто встановив їх на 1/4 початкового значення.
  3. Перезавантажте . Ви csrutilвсе одно збиралися знову включити , правда?

Після цього, префпайн машини часу все одно скаже, що він збирається зробити резервну копію через 1 хв після останньої резервної копії, але автоматична резервна копія трапиться на 15 хвилин пізніше в моєму випадку.


До речі, хто - небудь знає , що ці цифри Interval, Delay, на GracePeriodсамому ділі? Я встановив їм 1/4 їх первісного значення з лінощів.
ik1ne

3

Спробуйте безкоштовну утиліту TimeMachineEditor. Це дозволяє встановлювати практично будь-який вид розкладу, який ви хочете. Простіше і легше, ніж універсальне редагування файлів.


Раніше це було чудово - він не використовувався на Mojave, хоча ... плюс 1
Solar Mike

Це не дозволяє мені встановлювати інтервал на хвилини. Я знаю, можна встановити заплановану резервну копію вручну, але я б краще зробити гарячу клавішу резервного копіювання і натисніть щоразу, коли я зберігаю файл, а не додавати 4 * 24 = 96 графіків.
ik1ne

1
Якщо ваша реальна мета - створити резервну копію кожного разу, коли файл змінюється, то Time Machine - не правильний інструмент. З одного боку, це не лише створює резервну копію файлу, який ви тільки що зберегли. але і всі інші файли, які змінилися на вашому диску. Що може спричинити тривалість резервного копіювання, якщо змінилося багато файлів (наприклад, системні файли, файли кешу тощо). Замість Time Machine я б запропонував використовувати щось на зразок ChronoSync, яке можна налаштувати для запуску резервної копії папки кожного разу, коли файл змінюється в цій папці. Таким чином ви створюєте лише резервну копію файлів, які ви особисто змінили.
користувач128998

@ user128998 О ... ніколи не чув про це, і прочитавши його опис, я вважаю, що це ідеальне рішення для мене (Після редагування backupd-helper.plist я насправді робив tmutil listbackupsі tmutil compare A Bвиключав усі файли ОС вручну). Я завантажив пробну версію і спробую її. Дякую!
ik1ne

Я не використовую цю функцію "синхронізації в реальному часі" дуже часто, але коли я це роблю, вона є неоціненною. Як я пам’ятаю, це параметр планування, який ви встановлюєте, а не те, що є частиною самого документа синхронізації. Повідомте мене, якщо у вас є проблеми з його налаштуванням.
користувач128998

1

Якщо ви впевнені, що це ви хочете зробити, я думаю, що найкращий спосіб спробувати це скористатися tmutil(утиліта Time Machine).

Цитуючи man tmutil

стартап

Почніть резервну копію, якщо вона ще не запущена.

Параметри:
--auto Запуск резервної копії в режимі, подібному до системного резервного копіювання.
--блокувати Зачекайте (заблокуйте), поки резервна копія не буде закінчена перед виходом.
- обертання Дозволити автоматичне обертання пункту призначення під час резервного копіювання.
- визначення Виконайте резервне копіювання до місця призначення, яке відповідає зазначеному ідентифікатору.

Опція --auto забезпечує підтримуваний механізм, за допомогою якого можна запускати "автоматичні" резервні копії, подібні до автоматичних резервних копій, які заплановані системою. Незважаючи на те, що це не є ідентичним резервним резервним копіям системи, воно надає користувальницьким планувальникам можливість досягти певної (але не всі) поведінки, яка зазвичай проявляється при роботі в автоматичному режимі.

Поєднайте це launchdі ви можете tmutilбігати кожні 15 хвилин:

<?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>com.tjluoma.time-machine-intervals</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/bin/tmutil</string>
        <string>startbackup</string>
        <string>--auto</string>
        <string>--rotation</string>
    </array>
    <key>RunAtLoad</key>
    <false/>
    <key>StandardErrorPath</key>
    <string>/tmp/com.tjluoma.time-machine-intervals.stderr.log</string>
    <key>StandardOutPath</key>
    <string>/tmp/com.tjluoma.time-machine-intervals.stdout.log</string>
    <key>StartInterval</key>
    <integer>900</integer>
</dict>
</plist>

і збережіть його як ~/Library/LaunchAgents/com.tjluoma.time-machine-intervals.plistі потім завантажте його в launchdцю команду в Terminal:

launchctl load ~/Library/LaunchAgents/com.tjluoma.time-machine-intervals.plist

Ось як це виглядає в LaunchControl, який є моїм улюбленим додатком для роботи зі launchdсписками:

Скріншот LaunchControl


1

Щойно я витратив досить багато часу на дослідження, як виконати цей матеріал через однолінійки Terminal, і ось що я придумав.

  1. Вам все-таки потрібно відключити SIP (завантажте його в режим відновлення, натиснувши CMD + R під час завантаження, відкрийте там термінал (з вкладки «Утиліти» вгорі) та запустіть csrutil disableі потім reboot)
  2. Повернувшись до головного ОС, цікавий файл знаходиться за адресою /System/Library/LaunchDaemons/com.apple.backupd-helper.plist введіть тут опис зображення

  3. Щоб змінити, наприклад, значення інтервалу (від замовчування 1h = 3600 до 2h = 7200), ви запустили б

/usr/libexec/PlistBuddy -c "Set :LaunchEvents:com.apple.xpc.activity:com.apple.backupd-auto:Interval 7200" /System/Library/LaunchDaemons/com.apple.backupd-helper.plist

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.