Мне настраивали deja-дубликат для резервного копирования в смонтированный объем Truecrypt. Это хорошо работает, но теперь я хотел бы выполнить deja-дубликат в своих собственных интервалах через Крон (настроенный для моей учетной записи):
* * * * * env DISPLAY=:0 deja-dup --backup
(расписание каждой-минуты только для тестирования),
Задание запускается прекрасное, но выводы deja-дубликата, что место назначения не доступно:
Если я пытаюсь настроить задание Крона через "Запланированные задачи" GUI и выбрать его, чтобы быть "X приложениями", это добавляется к заданиям Крона как:
* * * * * /usr/bin/python /usr/share/gnome-schedule/xwrapper.py c 2 # JOB_ID_2
Однако, когда задание выполняется, оно перестало работать таким же образом как с моей собственной установкой Cron.
Поскольку задача запускается очень хорошо, если я выполняю ее от терминала, мое предположение - то, что по некоторым причинам задача, запущенная через крон, не имеет разрешения получить доступ к смонтированному объему.
Q1: Когда задача запускается с настроек Cron моего пользователя и должна поэтому работать как мой пользователь, почему она не имела бы доступа к смонтированному объему?
Q2: причина отказа могла быть чем-то еще, чем полномочия?
Q3: можно ли предложить некоторое решение для этой проблемы?
На основе ответов для другого вопрос , мне удалось найти решение самому. Это состоит из запуска deja-dup
со сценарием, который добавляет некоторые системные переменные. Задание крона тогда, очевидно, выполняет сценарий.
#!/bin/bash
export DISPLAY=:0
sessionfile=`find "${HOME}/.dbus/session-bus/" -type f`
export `grep "DBUS_SESSION_BUS_ADDRESS" "${sessionfile}" | sed '/^#/d'`
export `grep "DBUS_SESSION_BUS_PID" "${sessionfile}" | sed '/^#/d'`
export `grep "DBUS_SESSION_BUS_WINDOWID" "${sessionfile}" | sed '/^#/d'`
deja-dup --backup
exit 0
ПРИМЕЧАНИЕ: Если кто-то придумает правильно написанный ответ, который не только обеспечивает это или другое рабочее решение, но и это также объясняет причину проблемы, что сессия DBUS и какую роль это играет в этой проблеме, я с удовольствием приму Ваш ответ вместо этого .