Извините за занимание много времени для ответа.
Я пытаюсь выяснить, как настроить, какие суммы в учетную запись интерна, которая позволила бы интернам войти в систему компьютера любого пользователя и сделать базовое обслуживание. В настоящее время администратор должен приехать каждый раз для ввода в его пароле; как один из рассматриваемых интернов это справедливо ухудшает. Администратор пытался зафиксировать это, но до сих пор не был успешен.
В настоящее время я несколько исключен из этого усилия, которое, к сожалению, мешает мне предоставлять больше подробную информацию. Так я пытающийся выяснить, где f'ing руководство идет, как сделать это так, я могу принять участие. В этой точке я даже не уверен, что называет, я должен гуглить и приезжать к администратору с предложениями новичка, не получил меня нигде.
Для разрешения входа в систему ssh рабочего сервера без Вас вводящий пароль, необходимо будет настроить некоторую неинтерактивную аутентификацию, если это не будет уже настроено.
http://www.walkernews.net/2008/06/06/how-to-setup-non-interactive-ssh-login/
http://troy.jdmz.net/rsync/index.html
Затем это - в основном вопрос добавления команд для каждого шага к сценарию оболочки и установке крона для выполнения того сценария оболочки каждое утро.
Да - сценарий и расписание gzip/scp (или еще лучше, сделайте это rsync), часть с Вашего сервера. Если это - также MacOS, я не уверен в том, что подробные шаги сделать, которые являются, но это - схема того, что Вы хотели бы.
Затем если Вы знаете, что это будет всегда делаться определенным временем, просто планировать сценарий на Ваш компьютер к gunzip/dropdb/createdb/psql. Если это не всегда делается к тому же времени, то Вы могли сделать что-то воображение с проверкой состояния файла, измененные времена, и т.д.
С какими частями вышеупомянутого Вы не уверены в или чувствуете, что Вы нуждаетесь в большем количестве деталей? Действительно ли Вы плохо знакомы со сценариями или не уверены, как запланировать вещи с кроном или what-have-you?
PostGRES поддерживает какой-либо вид передачи журналов или зеркально отражающий исходно? Если так, это могло бы быть лучшим единым решением.
Сначала необходимо будет настроить ssh сервер так, чтобы он принял ключи RSA вместо пароля. Это документируется в другом месте. Затем необходимо будет создать учетную запись, которую Вы планируете использовать, чтобы иметь соответствующий ключ DSA/RSA, который позволит той учетной записи автовходить в систему.
* ssh to the production server
Это не необходимо. Можно непосредственно выполнить команды на удаленном сервере с помощью -C
опция. Например, следующие два шага Вы упоминаете...
* gzip our daily database dump file
* scp the gzipped dump file over to my computer
... выглядел бы подобным этому:
ssh user@some.server.net -C 'gzip dump > dump.gz'
scp user@some.server.net:/path/to/dump/dump.gz /path/to/destination/dump.gz
Поместите каждую команду, просто упомянутую, наряду с остальной частью команд, которые Вы вручную вводите в единственный файл. Команды должны быть в той же последовательности, что Вы обычно вводили бы их как. Мы назовем его dump-script.sh
для этого примера. Измените владение и полномочия по мере необходимости, так, чтобы файл выполнился.
Существует очень высокая возможность появления данных потерь, если Вы не выполняете проверку ошибок в своем сценарии. Пока Вы не добавляете обработку ошибок к сценарию, нет никакой гарантии, что это будет работать правильно 100% времени. С командой для отбрасывания базы данных довольно легко при правильных обстоятельствах освободить все данные по машине, которая получает дамп. Вы, скорее всего, захотите развернуть и украсить Ваш сценарий для обеспечения обнаружения ошибок, так, чтобы это было только DROP DATABASE и импортировать новые данные, когда передача будет успешна. Если Вы не довольны этим, не выполняйте его, ни создавайте crontab записи.
После того как Вам отладили Ваш сценарий, и можно подтвердить, что он обработает ошибки правильно, можно рассмотреть добавление его к обычному расписанию крона. В то время как зарегистрированный как учетная запись Вы хотите использовать, который выполнит эти действия, ввести:
crontab -e
.... который должен получить Вас редактор. Создайте запись как это:
# Nightly Database Dump, at Midnight
0 0 * * * /path/to/my/dump-script.sh
... затем введите :wq
в том порядке, и нажимают Enter (принимающий это vi
Ваш текстовый редактор по умолчанию).
Лучшее решение: Если у Вас есть доступ к сети к базе данных PostgreSQL, почему не только выводят базу данных по сети с помощью удаленного соединения? Это намного более чисто, и может быть объединено с определенными сценариями для создания этого прямым 'каналом' данных от одного до другого.
/etc/crontab
файл на Mac, это в другом месте? – Russ Bradberry 8 May 2010 в 00:08