SSH автоматические удаленные задние взлеты

Я предполагаю помимо раздела LVM, Вам всегда нужен "нормальный" раздел по крайней мере на одном жестком диске, где личинка, ядро и initrd могут жить, так, чтобы личинка могла загрузить ядро и initrd. initrd может затем загрузиться в LVM-корневой раздел. Можно найти инструкции здесь и немного здесь.

16
05.04.2014, 16:23
6 ответов
[1121217] Для того, чтобы делать это ежедневно в большинстве дистрибутивов Linux, вы должны просто поместить команду [1121709]rsync[1121710] (согласно [1121711]@guido's answer[1121712]) в скрипт и поместить скрипт в [1121713]/etc/cron. daily[1121714]. Пока установлен [1121715]anacron[1121716] (может быть не установлен по умолчанию) любые пропущенные задания [1121717]cron.daily[1121718] будут загружены при следующей загрузке машины (а также будут запущены в полночь, если машина включена). [12175]Для скрипта вы можете просто сделать:[12176]Вы можете добавить опцию [1121719]-z[1121720] (сжатие), если резервное копирование происходит по медленному(ish) соединению, или если вы хотите сохранить пропускную способность, но, по моему опыту, это на самом деле повредит производительности современных машин/сетей. [12177] Если вы хотите вести журнал каждой резервной копии, вы можете сделать что-нибудь вроде:[12178] Примечание, чтобы это работало как задание cron, вы должны настроить [1121721]passwordless ssh[1121722] для [1121723]root[1121724] на serverA, чтобы войти в serverB. Это должна быть учетная запись root (т.е. ключи в [1121725]/root/.ssh[1121726]), так как задания [1121727]cron.daily[1121728] выполняются как root.[1121226].
11
27.01.2020, 19:48
[1122269]Я бы предложил использовать [1122811]rdiff-backup[1122812]. Сейчас я использую его для автоматического создания инкрементных резервных копий своих данных каждую ночь (две рабочие станции, два сервера и одна учетная запись на чужом сервере).

Xephyr -screen 800x600 :1 > /dev/null &
sleep 2 && xkbcomp $DISPLAY :1
DISPLAY=":1" ./runcommand
Ранее я использовал rsync для этого, но переключился на rdiff-backup, так как это более удобно, и он может делать инкрементные резервные копии больших файлов, таких как образы дисков виртуальных машин. rdiff-backup во многом похож на мои предыдущие rsync скрипты резервного копирования, но сделан [1122813]правильно [1122814].

Я поместил файл скрипта в [1122815]/etc/cron.daily[1122816] на машину, где хранится резервная копия, которая запускает rdiff-backup один раз в день рано утром, и получает данные с удаленной машины.[1122274]

5
27.01.2020, 19:48
[1122293] В дополнение ко всем предыдущим ответам, вот один из них, который полагается на SSH-ключи с ограничениями на то, что может быть сделано при входе в систему с помощью этого ключа.
  • На сервере A
  • На этот раз менее важно, если вы создаете отдельного пользователя или используете одно из существующих имен пользователей, хотя на моем месте я бы создал отдельного пользователя. Я буду использовать имя пользователя [1122829]bkpuser[1122830] для обоих серверов в моих примерах ниже.
  • При входе в систему [1122831]bkpuser[1122832] создайте SSH-ключ без пароля.
  • На сервере B
  • Включите [1122833]PubkeyAuthentication[1122834] в [1122835]sshd_config[1122836].

    Создайте пользователя [1122837]bkpuser[1122838]. Установите очень сложный пароль или отключите пароль для этого пользователя (как именно Вы это сделаете, зависит от того, какой unix и дистрибутив у Вас запущен). Дело в том, что пользователь должен входить в систему только с помощью SSH ключа. Убедитесь, что [1122839]bkpuser[1122840] имеет доступ на чтение ко всем каталогам и файлам, которые вы хотите создать резервную копию.

    • Скопируйте открытую часть ключа, созданного на A, в [1122841]~bkpuser/.ssh/authorized_keys[1122842] на B. Отредактируйте для автоматического выполнения команды при подключении. Эта команда не должна быть указателем на скрипт оболочки; вместо этого вставьте скрипт оболочки в ключ напрямую. Также включите ограничение, чтобы ключ можно было использовать только с сервера A и никаким другим сервером. В примере ниже я даю серверу A IP адрес [1122843]10.1.2.3[1122844] и предполагаю, что все файлы, которые я хочу создать резервные копии, находятся в разделе [1122845]/данные [1122846].
    • На сервере A
    • Если вы используете одну из вкладок cron, которая поддерживает записи [1122847]@reboot[1122848], добавьте такую запись в кронтаб [1122849]bkpuser[1122850]s командой [1122851]ssh -i ~bkpuser/.ssh/id_dsa serverB > backup.tar.gz[1122852]. Если она не позволяет, установите ее в любое время - если бы это были мои данные, я бы, вероятно, делал это ежедневно.[1122312].
    4
    27.01.2020, 19:48
    [1128878]Вот полное решение для резервного копирования сервера B на сервер A каждый день в 4 часа ночи с использованием SSH.

    Создать автоматическое соединение SSH от сервера B к серверу A

    Создать скрипт резервного копирования на сервере B[12111]nano /root/backup[12112]chmod 744 /root/backup[12113]Автоматическое резервное копирование на сервере B[12114]crontab - e[12115]Подробнее см. страницы [1129442]Подключение к SSH без ввода пароля на Linux[1129443] и [1129444]Резервное копирование сервера в Debian или Ubuntu Linux[1129445]. [1128894]

    2
    27.01.2020, 19:48
    [1121273]Суть в том, как это сделать автоматически (нет необходимости вводить пароли): [12198] запустите сессию [1121899] экрана [1121900] или [1121901]tmux[1121902] [12199] выполните [1121903]eval $(ssh-agent)[12200] добавьте свой ключ с помощью [1121905]ssh-add[12201] флагов для rsync [1121907] экспортируйте RSYNC_RSH="ssh -i ~/". ssh/id_rsa ..."[12202]резервное копирование каждые 24 часа с помощью [1121909]while :; do rsync -av u@h:/p /local; sleep $[24*60*60]; done[12203]
    -1
    27.01.2020, 19:48
    [1121211] Для этого можно использовать rsync (в некотором обратном порядке):[12172] где:[12173]
    1
    27.01.2020, 19:48

    Теги

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