我刚刚从 Ubuntu 10.04 升级到 Ubuntu 12.04,sbackupd 完全消失了。我以前在 Ubuntu 10.04 中从两个 cron 作业/etc/cron.d/sbackup1
和/etc/cron.d/sbackup2
以 root 身份使用自定义配置路径调用 sbackupd。sbackupd 是否已重命名?此外,如果我以普通用户身份运行 sbackup 独立脚本,它将拒绝备份 root 拥有的目录(即/etc
)有什么替代方案?
答案1
只需dbus-launch
在以 root 身份调用 cron 作业中的 sbackup 之前,每个会话一次。这是我让 sbackup 作为 root cronjob 使用自定义配置文件的完整解决方法。(我每天有 2 个 sbackup cronjob,计划在不同时间运行到不同的外部驱动器)下面列出了其中一个备份 cronjob 的相关 3 个文件。
用于启动 shell 会话 dbus 的 Bash 脚本
##########################################################
# "/home/dtoader/My Documents/linux/backups/launchDbus.sh"
##########################################################
#!/bin/bash
if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then
## if not found, launch a new one
eval `dbus-launch --sh-syntax --exit-with-session`
echo "D-Bus per-session daemon address is: $DBUS_SESSION_BUS_ADDRESS"
fi
我的自定义 sbackup.conf 文件
##########################################################
# "/home/dtoader/My Documents/linux/backups/sbackup500.conf"
##########################################################
[general]
maxincrement = 1
format = 1
followlinks = 0
target = /home/backup500/files
purge = 5
mountdir = /home/dtoader/.local/share/sbackup/mountdir500
lockfile = /var/lock/sbackup/sbackup500.lock
splitsize = 0
[exclude]
regex = \.xxxxxxxxxx
maxsize = 9999220736
[log]
level = 20
file = /home/dtoader/.local/share/sbackup/log/sbackup500.log
[places]
prefix = /usr
[schedule]
[dirconfig]
/home/dtoader = 1
/root = 1
/etc = 1
/home/backup501 = 0
/home/backup500 = 0
/home/dtoader/.pulse = 0
[report]
from = SBackup Daemon <[email protected]>
我的 cronjob 文件
##########################################################
#"/etc/cron.d/sbackup500"
##########################################################
# /etc/cron.d/sbackup500
# At 12 PM every day
# m h dom mon dow user command
0 12 * * * root "/home/dtoader/My Documents/linux/backups/launchDbus.sh"; /usr/bin/sbackup --no-indicator --no-dbus --conf="/home/dtoader/My Documents/linux/backups/sbackup500.conf"