Доброго времени всем.
Небольшое отступление.
Так как только только начинаю знакомиться с Linux и в целом с командной строкой возникает множество детских вопросов.
Подсказать не кому, да и в целом разбираюсь для себя.
Хочу потихоньку уйти с Windows и попробовать поднять несколько виртуальных машин на Linux.
По этому прошу помощи у людей знающих и сталкивавшихся с ....
Теперь о вопросе.
Поднял две виртуалки и хочу с одной копировать файл в другую по расписанию без замены скопированного файла.
В идеале хочу сделать исполняемый скрип (если правильно понял) ./sh и там должны быть команды.
Но вот как правильно это сделать.... В ответах google запутался...
Что у меня есть
scp /dir/dir2/config.file root@192.168.1.22:dir/dir2
С сохранением всех прав -a команда выводит ошибку об отсутствии файла или каталога.
Как как правильно обойти запрос пароля или прописать его в команде?
Как правильно добавить в cron эту команду, что бы раз в день или неделю с одной машины на другую копировался файл, но не перезаписывал уже существующий?
И как правильно создавать пользователя, прописать ssh ключ для пользователя?
Если можно с примером и небольшим пояснением.
Заранее спасибо.
Много разных детских вопросов
Если можно с примером и небольшим пояснением.
[quote="mrwhat"]Если можно с примером и небольшим пояснением.
Пример: Резервное копирование базы данных и файлов по SSH[/quote]
Спасибо большое, но для меня это пока очень круто...
Базы данных только слышал.
Мне бы пример команды с пояснением как вставить пароль....
Руками получается подключится к второй виртуалке и скопировать, а вот одной командой с паролем, без дополнительных пакетов нет.
И как правильно смотреть читать и смотреть логи?
Как как правильно обойти запрос пароля или прописать его в команде?
Из строки копирования видно, что Вы пытаетесь копировать под root...
Определяемся с пользователем, под которым будет производиться копирование...
1. На клиенте (т.е. откуда будет копироваться) и на сервере (т.е. куда будет копироваться) заходим ПОД РУТОМ (su -) и запускаем команду:
ssh-keygen
На все вопросы жмём в ответ Enter. В результате на обоих будут созданы каталоги /root/.ssh с ключами (проверить!)
Дополнительно на сервере правим конфиг /etc/ssh/sshd_config
#Строку:
#PermitRootLogin prohibit-password
#заменяем на
PermitRootLogin yes
#сохраняем и перезагружаем сервис
systemctl restart sshd
2. На клиенте выполняем (в примере 192.168.0.100 - это ip сервера):
cat ~/.ssh/id_rsa.pub | ssh root@192.168.0.100 "cat >> .ssh/authorized_keys"
#по запросу fingerprint[yes/no] - набрать yes и Enter
#по запросу Password: указать пароль сервера и Enter
И копируем c клиента, например, каталог ./111 в /root/111 на сервер:
scp -r ./111 root@192.168.0.100:/root/
...ну или файл... Чтобы файл всё время был с разным именем, можете добавить к его имени время или дату (см. пример выше). А когда копирование настроите, можно и в крон прописать (см. опять же пример выше).
Пока да, под root все делаю.
Только только учусь.
То есть в самой команде scp передать пароль нельзя?...
То есть в самой команде scp передать пароль нельзя?...
Вам не нужен пароль. Вы создаёте ключи и работаете без паролей. Для паролей есть sshpass. Дополнительно: https://www.linuxshelltips.com/pass-password-scp-command-linux/
[quote="mrwhat"]То есть в самой команде scp передать пароль нельзя?...
Вам не нужен пароль. Вы создаёте ключи и работаете без паролей. Для паролей есть sshpass. Дополнительно: https://www.linuxshelltips.com/pass-password-scp-command-linux/[/quote]
Спасибо вам большое, с переменным успехом получается.
Но это не то, что я хочу....
Мне бы хотелось понять как это работает и из запросов google сформировалось понимание с чем нужно разбираться.
Вот тут и прошу вас помочь с наведением на материал, желательно видео.
- Что такое сеть и как она работает?
- Устройство Linux?
- Bash и как с ним работать?
- Как построены сервисы в целом?
Если есть, то доступным языком для ребенка.
Небольшое отступление....
Мне очень все это интересно, но те условия в школе и родителе не позволяют во все это погрузиться и понять.
В школе даже компьютерного класса нет...
Родители дают установку с 7 лет на музыку.
Мой интерес к сожалению не поддерживаю, но есть час-полтора в день у компьютера где могу что то поделать и мобильный по дороге к школе, где могу посмотреть виде или почитать.
Если вам нетрудно.
Помогите с материалом, его поиском и усвоением на доступном языке для ребенка.
Заранее спасибо.
Можете попробовать почитать книгу "Внутреннее устройство Linux", автор - Брайан Уорд.
Есть в сети, даже в переводе на русский.
Можете попробовать почитать книгу "Внутреннее устройство Linux", автор - Брайан Уорд.
Есть в сети, даже в переводе на русский.
Спасибо большое.
Попробую...
Добавлено: 10.02.2023 12:20:56
Можете попробовать почитать книгу "Внутреннее устройство Linux", автор - Брайан Уорд.
Есть в сети, даже в переводе на русский.
Может есть какая-то бесплатная онлайн школа?...
Я пока не нашел...
Либо платно, либо пробный период и потом опять платно.