Почему 'slapconfig-backupdb' не создание образа диска, когда выполнено от крона на Сервере Snow Leopard?

Из чего вывод route на сервере Ubuntu? Что такое еще некоторая информация о Вашей VPN? Какой pptp клиент Вы используете на Ubuntu?

3
задан 24 July 2010 в 00:18
2 ответа

Хорошо, у меня теперь есть рабочее решение. Я запустил путем записи нового bash сценарий (в противоположность использованию expect) который перенес Apple serveradmin утилита (сама быть оберткой вокруг slapconfig -backupdb Я звонил непосредственно от expect сценарий):

#!/bin/bash

dst="/path/to/your/backup/directory"
pass="password"

host=$(hostname)
date=$(date +%Y-%m-%d-%H%M)

serveradmin command <<-EOC
    dirserv:backupArchiveParams:archivePassword = $pass
    dirserv:backupArchiveParams:archivePath = ${dst}/od_backup-${host}-${date}
    dirserv:command = backupArchive

EOC

Это основано на этом сценарии, но использовании bash "здесь документ" вместо того, чтобы создать файл на диске, содержащем serveradmin команды (включая незашифрованный пароль), чтобы быть выполненным.

Этот хорошо работал, когда выполнено из командной строки также, но все еще нет .sparseimage был создан, когда это было выполнено от крона. Так, второй этап моей фиксации был, как я упомянул выше в комментариях к моему исходному вопросу, для создания a launchd plist для выполнения его:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN http://www.apple.com/DTDs/PropertyList-1.0.dtd >
<plist version="1.0">
    <dict>
        <key>Label</key>
        <string>tld.domain.od_backup</string>
        <key>ProgramArguments</key>
        <array>
            <string>/var/root/sbin/od_backup</string>
        </array>
        <key>StartCalendarInterval</key>
        <dict>
            <key>Hour</key>
            <integer>2</integer>
            <key>Minute</key>
            <integer>30</integer>
        </dict>
    </dict>
</plist>

Естественно, я загрузил plist w/sudo launchctl load /Library/LaunchDaemons/tld.domain.od_backup.plist (домен и tld, измененный для защиты идентификационных данных). И, это, кажется, работает правильно при вызове launchd. Исходный сценарий, возможно, также работал правильно, если названо launchd, но я не протестировал его.

0
ответ дан 3 December 2019 в 06:20

Я столкнулся с той же проблемой при отладке исходного сценария, для меня время ожидания по умолчанию в 10 секунд приводило к прерыванию встроенной команды hdiutil. Я исправил это, добавив:

установить тайм-аут 120

в ожидаемом сценарии. Теперь скрипт снова работает нормально. Мой сценарий:

#!/usr/bin/expect -f

set date [timestamp -format "%Y-%m-%d"]
set archive_path "path/to/you/backup/dir"
set archive_password "password"
set archive_name "opendirectory_backup"
set timeout 120

spawn /usr/sbin/slapconfig -backupdb $archive_path/$archive_name-$date
expect "Enter archive password"
send "$archive_password\r"
expect eof
4
ответ дан 3 December 2019 в 06:20

Теги

Похожие вопросы