Один из возможных вариантов - установить WakeSystem = true
в файле .timer
, который разбудит компьютер из режима ожидания, чтобы запустить задание.
Затем в запущенном файле .service
вы можете добавить:
ExecStopPost=sudo /bin/systemctl suspend
Чтобы повторно приостановить компьютер после выполнения задания.
Вам также необходимо обновить / etc / sudoers
, чтобы позволить вашему пользователю запускать указанную выше команду без запроса пароля.
Второй вариант - использовать один из монотонных таймеров, описанных в man systemd.timer
, например OnActiveSec =
. Эти таймеры прекращают отсчет времени, когда компьютер приостановлен. Это позволяет вам выражать такие вещи, как «Пожалуйста, делайте резервную копию моего компьютера каждые 8 часов, когда он включен». Если ваш компьютер обычно работает около 8 часов в день, это примерно соответствует одному разу в день. Как вы описываете, на вашем компьютере в любом случае часто создается резервная копия около полуночи - резервная копия создается, когда вы впервые отключаете его утром.
В-третьих, подтвердили ли вы, что Persistent =
не работает с приостановить
, когда компьютер выключен?
OpenSSH предлагает идентификаторы по умолчанию и идентификаторы, загруженные в ssh-agent
по умолчанию (обычно это то, что вам нужно). Если вы хотите предотвратить такое поведение, есть опция IdentitiesOnly
:
IdentitiesOnly
Указывает, что
ssh(1)
должен использовать только аутентификационные идентификаторы и файлы сертификатов явно настроенные в файлахssh_config
или переданные вssh(1)
командной строки, даже еслиssh-agent(1)
илиPKCS11Provider
предлагает больше идентификаторов. Аргументом этого ключевого слова должно бытьyes
илиno
(по умолчанию). Эта опция предназначена для ситуаций, когдаssh-agent
предлагает много различных идентификаторов.