Самое чистое решение - позволить systemd управлять вашим прокси также, как только сеть for будет запущена. См. https://wiki.archlinux.org/index.php/Systemd#Writing_unit_files https://wiki.archlinux.org/index.php/Systemd/User#How_it_works за информацией о написании собственного служебного файла и https://wiki.archlinux.org/index.php/Systemd/User#How_it_works за более подробной информацией, если вы просто хотите, чтобы это было для вашего пользователя. Я бы предложил заменить вызов sshpass & password на открытый ключ, который, я надеюсь, ваш VPS поддерживает.
Пример для вашего случая:
[Unit]
Description=Starts torsocks script
[Service]
ExecStart=torsocks sshpass -p password ssh -p 69 -D 9040 user@IP
[Install]
WantedBy=default.target
Requires=
After=
По-видимому, повторяющиеся задачи должны иметь одного и того же компаньона из-за настроек . Например:
$ task add "a daily recurring task" recur:daily due:eod
$ task add "a weekly recurring task" recur:weekly due:eow
$ task add "a monthly recurring task" recur:monthly due:eom
таким образом,ежедневная задача может быть помечена как выполненная и не будет отображаться до следующего дня
то же самое для еженедельных/ежемесячных и т. д. задач
Прежде чем я углублюсь в рабочие детали, обратите внимание, что повторение плохо -спроектировано . То, что я привожу, является эмпирическими наблюдениями и может быть изменено при переработке.
task add recur:<duration> due:<first task due date> until:<delete first task by date> wait:<date when task will appear> "my task"
Пример:
task add recur:daily due:9:00 until:12:00 wait:5:00 eat breakfast
Повторение требует due
атрибута (, принудительного проверки достоверности). Повторение также может использовать атрибуты until
и wait
, если они существуют. Повторение не использует scheduled
. И есть атрибут mask
, который отслеживает, к какому экземпляру повторения относится задача.
При создании нового повторяющегося экземпляра:
new task due
= parent due
+recur
*mask
until
иwait
scheduled
целиком копируется из родительской задачи. На практике это неожиданное поведение не нарушит ваш рабочий процесс, а только повлияет на фильтры и исказит срочность. Я называю это, потому что мне потребовалось очень много времени, чтобы обнаружить, что это не работает, как ожидалось. Каждый раз, когда запускается taskwarrior
, он проверяет, не пора ли создать следующее вхождение. Псевдо -уравнение:
now >= due + recur * (mask + 1)`
Обратите внимание, что существует значение конфигурации rc.recurrence.limit
, которое можно использовать, чтобы указать taskwarrior создавать еще больше вхождений дальше.
Можно ожидать, что следующее вхождение будет создано в срок выполнения предыдущего.