首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >启动远程rdiff-backup

启动远程rdiff-backup
EN

Stack Overflow用户
提问于 2011-08-26 05:20:07
回答 1查看 178关注 0票数 0

我的backupscript有一个问题,它似乎不能在OS X launchd上工作。

这是我想要运行的脚本:

代码语言:javascript
复制
#
# backupscript
#
NOW=$(date +"%y%m%d-%H:%M:%S") 
LOGFILE=/usr/local/server/log/$NOW
SOURCE=/
DESTINATION=remote@remote::/media/backup
INCLUDE_LIST=/usr/local/server/include-list
KEEP_TIME=40B

RDIFF_BACKUP=/usr/local/bin/rdiff-backup

$RDIFF_BACKUP --print-statistics -v5 --include-globbing-filelist $INCLUDE_LIST $SOURCE $DESTINATION > $LOGFILE
$RDIFF_BACKUP --remove-older-than $KEEP_TIME $DESTINATION

正如您所看到的,它没有什么特别之处,并且在不使用launchd的情况下也能正常工作。

但是,当我用launchd运行它时,它不...XML文件如下所示:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>backup.plist</string>
    <key>ProgramArguments</key>
    <array>
        <string>/bin/sh</string>
        <string>/usr/local/server/backup.sh</string>
    </array>
    <key>LowPriorityIO</key>
    <true/>
    <key>AbandonProcessGroup</key>
    <true/>
    <key>Nice</key>
    <integer>1</integer>
    <key>StartCalendarInterval</key>
    <array>
        <dict>
            <key>Hour</key>
            <integer>10</integer>
            <key>Minute</key>
            <integer>0</integer>
        </dict>
        <dict>
            <key>Hour</key>
            <integer>14</integer>
            <key>Minute</key>
            <integer>0</integer>
        </dict>
        <dict>
            <key>Hour</key>
            <integer>18</integer>
            <key>Minute</key>
            <integer>0</integer>
        </dict>
        <dict>
            <key>Hour</key>
            <integer>22</integer>
            <key>Minute</key>
            <integer>54</integer>
        </dict>
    </array>
</dict>
</plist>

脚本正在运行,但没有备份到远程主机。backup.plist位于/Library/LaunchDeamons中,因此应该以根用户身份运行。

我不知道有什么问题,权限应该也没问题。这件事已经困扰我好几天了。

有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2011-08-26 11:36:13

我没有发现任何明显的错误,所以我要做的第一件事是使日志记录更完整,并查看这是否表明问题所在--包括stderr和stdout,并且对于整个脚本,不仅仅是rdiff-backup命令。在脚本的开头执行如下操作:

代码语言:javascript
复制
NOW=$(date +"%y%m%d-%H:%M:%S") 
exec &>/usr/local/server/log/$NOW

然后删除> $LOGFILE部件,以防止其被覆盖。如果您需要更多详细信息,可以尽早添加set -x,这样它就可以在执行命令之前打印出每个命令。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7197332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档