重现步骤:
germar@host:~$ cd /tmp/
germar@host:/tmp$ touch test && chmod u+s test && ls -la test
-rwSr--r-- 1 germar germar 0 Nov 2 20:11 test
germar@host:/tmp$ chown germar:germar test && ls -la test
-rw-r--r-- 1 germar germar 0 Nov 2 20:11 test
Run Code Online (Sandbox Code Playgroud)
使用 Debian 挤压和 Ubuntu 12.04 进行测试
当我通过 USB 插入 HD 时,它应该 a) 安装它 b) 运行我的备份脚本。
我目前拥有的是 backintime.service
[Unit]
Description="Runs backintime to backup."
[Service]
User=user
ExecStart=/usr/bin/systemd-inhibit --what=sleep --why="Backup" "backintime -b"
Run Code Online (Sandbox Code Playgroud)
启动备份脚本和 backup.mount
[Unit]
Description=Backup Disk
Before=backintime.service
[Mount]
What=/dev/disk/by-uuid/931129c7-7f15-4042-9a69-796c9eb8ffc9
Where=/media/backup
Run Code Online (Sandbox Code Playgroud)
但是我如何自动执行它?
我使用“Back In Time”,它只不过是 rsync 版本 3.0.9 协议版本 30 的前端 GUI。我正在运行 ubuntu 12.04。
我的备份设备是本地安装的 USB 闪存棒/驱动器,格式为 ext2。
它给了我许多类似于以下内容的错误......
[E]错误:rsync:mkstemp“/media/apb/0543d632-d24b-4b4e-8ca8-56d22c19e62f/backintime/myhost.mydomain.com/root/4/new_snapshot/backup/home/apb/Documents/7uzyrwsy.default- 20131026-1639/Mail/pop-server.bak.rr-8.com/.Sent.msf.RZMdLy”失败:参数无效 (22)
Back in Time 用于调用 rsync 的命令行:
[I] rsync -rtDH --links --no-p --no-g --no-o --delete --delete-excluded -v
--chmod=Du+wx --exclude="/media/apb/0543d632-d24b-4b4e-8ca8-56d22c19e62f"
--exclude="/root/.local/share/backintime" --exclude="/tmp/backintime"
--include="/home/apb/asterisk/" --include="/home/apb/" --include="/home/"
--include="/home/apb/Documents/" --include="/home/apb/Linux-Centos/"
--exclude=".gvfs" --exclude=".cache*" --exclude="[Cc]ache*"
--exclude=".thumbnails*" --exclude="[Tt]rash*" --exclude="*.backup*"
--exclude="*~" --exclude="/root/Ubuntu One" --exclude=".dropbox*"
--exclude="/proc/*" --exclude="/sys/*" --exclude="/dev/*" --exclude="/run/*"
--include="/home/apb/asterisk/**" --include="/home/apb/Documents/**"
--include="/home/apb/Linux-Centos/**" --exclude="*" / "/media/apb/0543d632-d24b-4b4e-8ca8-56d22c19e62f/backintime/myhost.mydomain.com/root/4/new_snapshot/backup/"
Run Code Online (Sandbox Code Playgroud)
关于导致失败的原因有什么想法,更好的是......如何修复它?
我已阅读手册页 X(7) 并搜索了此内容,但找不到解决方案。
如果环境DISPLAY=:0
仍然是有效显示,我如何检查长时间运行的进程?(用户可能在此期间已注销,但进程仍处于活动状态)
锦上添花的是检查 DISPLAY 是否仍然归 <USER>