其实我已经回答过这个问题了,虽然我不知道答案是否正确。那么你对此有什么看法:
- 任务:让计算机尽可能安静、轻松地使用 Back In Time (BIT) 开始备份,以获得最高的 WAF*
- 解决方案:当插入特定 USB 磁盘时,使用 udev 启动类似这样的备份脚本:
。
#!/bin/bash
# usage: backup_userdata.sh username
export _USER=$1
# config file, Xauthoriy and DISPLAY
export BIT_CONFIG=/home/$_USER/.config/backintime/config
if ! test -e $BIT_CONFIG ; then exit 1;fi
# set DISPLAY
export XAUTHORITY=/home/$_USER/.Xauthority
export $(cat /proc/$(pgrep -o -u $_USER unity)/environ | tr '\0' '\n' | grep '^DISPLAY=').0
# dont auto-open backup USB disk - couldnt find a better solution for this
su $_USER -c 'gsettings set org.gnome.desktop.media-handling automount-open false'
{ sleep 10; su $_USER -c 'gsettings set org.gnome.desktop.media-handling automount-open true' ; }&
# send the rest to the background so udev doesnt wait for the backup to end
{
export BIT_LOG=/home/$_USER/.local/share/backintime/takesnapshot_.log
# strings for pop ups
export STARTTEXT="Backup started"
export SUCCESSTEXT="Backup completed"
export WARNINGTEXT="Backup completed with errors\nRevise results\nExternal disk still mounted"
export ERRORTEXT="Backup aborted\nRevise results\nExternal disk still mounted"
export BIT="Back In Time"
# back up media
export BIT_MEDIA="/media/backup"
# start backup
su $_USER -c 'notify-send "$BIT" "$STARTTEXT"'
if su $_USER -c 'backintime -b --config $BIT_CONFIG'; then
if ! grep -iq "error: " $BIT_LOG; then
# no errors in log file
umount $BIT_MEDIA # umount before confirmation
su $_USER -c 'notify-send "$BIT" "$SUCCESSTEXT"'
su $_USER -c 'zenity --no-wrap --info --title "$BIT" --text "\n$SUCCESSTEXT"'
else
# errors in log file
su $_USER -c 'notify-send "$BIT" "$WARNINGTEXT"'
su $_USER -c 'zenity --no-wrap --warning --title "$BIT" --text "\n$WARNINGTEXT"'
su $_USER -c backintime-gnome # open BIT for error analysis
fi
else
# backup aborted
su $_USER -c 'notify-send "$BIT" "$ERRORTEXT"'
su $_USER -c 'zenity --no-wrap --error --title "$BIT" --text "\n$ERRORTEXT"'
su $_USER -c backintime-gnome # open BIT for error analysis
fi
}&
脚本可以工作。据我所知,剩下的唯一问题是,我在 12.04 上运行的 BIT 版本并不总是使用退出状态。但最新版本应该可以(我目前无法测试)。
任何意见?
“*” 女性接受度
答案1
从1.0.28
BackInTime版本开始udev
,它自己支持日程安排。只需选择When drive get connected (udev)
,Settings > Schedule
您就大功告成了...
免责声明:我是 BIT 的当前主要开发人员