以 cronjob 形式运行 deja-dup,BU 磁盘未连接

以 cronjob 形式运行 deja-dup,BU 磁盘未连接

我的备份 cronjob 有问题。我使用这些设置(如建议的那篇帖子):

15 * * * * env DISPLAY=:0 /usr/bin/deja-dup --backup

在运行时 deja-dup 说:

Backup location not available. Waiting for 'xy' to become connected...

外部磁盘“xy”已安装;当我在命令行中运行 deja-dup --backup 时,我也可以创建备份。

知道问题可能出在哪里吗?可能是权限问题吗?但我想 crontab 会以我的用户身份运行该作业。

谢谢

答案1

我也遇到过同样的问题,deja-dup 在通过 cron 执行时无法可靠地工作。答案(非常不令人满意)是,它根本不是为通过 cron 工作而设计的。

一种可能的解决方案是使用 duplicity 进行 cron 计划备份。Duplicity 是 deja-dup 连接的后端。

答案2

好的,我找到了解决方法。首先,您需要安装 dconf-editor:

sudo apt-get install dconf-editor

然后运行它并打开 org/gnome/deja-dup/file。在那里,将“类型”从“volume”更改为“normal”

在此处输入图片描述

或者你也可以直接执行这个命令:

dconf write /org/gnome/deja-dup/file/type "'normal'"

但需要注意的是:

  • 在 Ubuntu 16.04 中测试
  • 我还没有测试如果卷没有实际安装会发生什么
  • 我还没有测试过如果您稍后更改 Deja Dup 设置会发生什么,但我认为它可能会重置该值,因此您必须再次手动编辑它(或者在 dejadup --backup 之前将前面提到的命令添加到您的 crontab 中)

答案3

另一个解决方法是使用“本地”后端而不是“卷”。您唯一需要的是一个静态备份路径,在我的情况下是/media/filip/red/backup

dconf write /org/gnome/deja-dup/backend "'local'"
dconf write /org/gnome/deja-dup/local/folder "'/media/filip/red/backup'"

该卷(此处/media/filip/red)是从 USB 棒挂载的 LUKS 加密卷。但在我的 Ubuntu(20.04)上,出于某种原因,deja-dup 从 cron 运行时未检测到此 LUKS 驱动器。

相关内容