|
| Дата |
|
USD/RUB | 90.4082 | BTC/USD | 69564.4707 |
|
|
|
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии. |
20.02.2020, 03:55
|
Start Post: Сайт занял всё место на диске, как бэкапнуть?
|
Senior Member
Регистрация: 29.08.2017
Сообщений: 181
Бабло: $48240
|
Есть папка на сервере с сайтом, весит 29Гб, дисковое просранство сервера 30 Гб, нужно переутановить ОС и вернуть папку на место. Как сделать? Можно было ба архивнуть, потом скачать разом, но места только 1Гб свободного, архив не влезет. Поставил на ускоренном интрнете скачивать через тоталкоммандер - похоже гиблое дело. Подумывал насчёт скрипта, чтобы поочери архивил папки (папок много и небольшие на каждую по отдельности хватит 1Гб) - переливал на другой серв - удалял - архивил след папку и тд, но не знаю команды для бинбаш, чтобы перед удалением дожидался пока архив перекачается на другой серв, а только потом удалял. Потом подумал что можно через тотал перекачать быстро если будут архивы папок и подумал сделать вот так:
PHP код:
#!/bin/bash
cd /var/www/www-root/data/www/site.com tar -cvzf folder1.tar.gz folder1 rm -rf folder1 cd /var/www/www-root/data/www/site.com tar -cvzf folder2.tar.gz folder2 rm -rf folder2
есть список папок сайта, подскажите пожалуйста как составить переменную чтобы выполнить даный алгоритм. по итогу вместо всех папок должны остаться их архивы. Спасибо
Не сработает ли при этом
rm -rf folder1
до того пока не заархивируется
tar -cvzf folder1.tar.gz folder1
в итоге очнулся тоталкоммандер - пишет 10 часов, просто надо постпать..
Последний раз редактировалось migratetobrain; 20.02.2020 в 04:09.
|
|
|
21.02.2020, 04:38
|
#12
|
Senior Member
Регистрация: 29.08.2017
Сообщений: 181
Бабло: $48240
ТС -->
|
ТС
Помогите с регуляркой в нотпаде, пожалуйста. Нужно сразу сделать несколько замен. Сейчас я меняю руками одно на другое или на пусто и таких замен произвожу с десяток поочерёдно одна за другой. Подскажите как составить регулярку для нотпада на примере "а" заменить на "б", потом "в" заменить на "г", потом "д" заменить на пусто, потом "е" заменить на "//", "ж" заменить на "\n"
// и \ нужно экранировать?
|
|
|
21.02.2020, 18:01
|
#13
|
Хостинг, серверы, домены
Регистрация: 04.02.2020
Сообщений: 27
Бабло: $2260
|
Здравствуйте.
Вопрос №1 - как сделать копию сайта, чтобы развернуть его после переустановки ОС.
Рекомендуем сделать "топорно" через FTP подключение как это сделали вы.
НО! Обязательно сделайте дамп БД. Пара вариантов для вас на выбор:
Через mysqldump
- Зайдите в корень сайта, сделайте команду:
mysqldump database_name > ./database_name
Если БД весит больше, чем на сервере свободного места, выгрузите через экспорт из phpmyadmin.
Вопрос №2 - бэкапы сайта.
Очень рекомендуем использовать резервные копирования для своих проектов.
Если у вас виртуальный сервер, рассмотрите покупку облачного хранилища на 50-100ГБ и настройте туда бэкапы.
Рекомендуем для этого утилиту restic.
Примерная инструкция по использованию чтобы вам визуально было понятна сложность/простота настройки:
ШАГ 1А. Покупаете облачное хранилище, узнаете данные для подключения.
Шаг 1Б. Установите restic, в документации найдете команды. Установка 30-60 секунд займет.
ШАГ 2. Конфигурация подключения. В зависимости от протокола подключения создаете файл конфигурации подключения. Ниже описано для Swift протокола. Все операции под SSH делаются.
mkdir ~/.config/restic
echo "export OS_AUTH_URL=
export OS_REGION_NAME=
export OS_USERNAME=
export OS_PASSWORD=
export OS_TENANT_NAME=
export RESTIC_REPOSITORY=swift:backups:/restic
export RESTIC_PASSWORD=RESTIC_PASSWORD"\
> ~/.config/restic/.data-storage
Запуск переменных:
source ~/.config/restic/.data-storage
ШАГ 3. Тестирование создания бэкапа.
restic init
mysqldump -u root --all-databases | gzip | restic backup --stdin --stdin-filename all_dbs.sql.gz
Проверьте отработали ли бэкапы
restic snapshots
ШАГ 4. Настройке автоматические бэкапы БД и файлов сайта.
EDITOR=mcedit crontab -e
Впишите команды в крон.
#Restic full server backup at 23:50 everyday.
50 23 * . ~/.config/restic/.data-storage; /usr/bin/restic backup / --exclude={/root/_temp,/dev,/media,/mnt,/proc,/run,/sys,/tmp,/var/tmp,"/lost+found"}; /usr/bin/restic forget -q --prune --keep-daily 30
#Restic databases backup
30 23 * . ~/.config/restic/.data-storage; mysqldump -u root --all-databases | gzip | restic backup --stdin --stdin-filename all_dbs.sql.gz; /usr/bin/restic forget -q --prune --keep-daily 30
__________________
foxcloud.net
Домены, хостинг, серверы, IaaS в США, Европе, России.
|
|
|
21.02.2020, 18:51
|
#14
|
Senior Member
Регистрация: 25.09.2017
Сообщений: 1,011
Бабло: $115260
|
ftp не гарантирует целостность передачи данных.
Лучше использовать rsync
rsync -v -e ssh /home/* [email protected]:/home/
Для этого понадобится второй сервер с доступом по ssh.
|
|
|
29.04.2020, 17:58
|
#15
|
Senior Member
Регистрация: 29.08.2017
Сообщений: 181
Бабло: $48240
ТС -->
|
ТС
andyvein,
а как потом таким же способом обратно всё распаковать также? без скачивания архива на первый сервер (там где нужно его распаковывать)
пробую по аналогии вот так на том сервере где лежит архив:
tar xvf - /backup/www/data.tar.gz | ssh [email protected] "cat > /www/data"
спрашивает о соединении с сервером - подтверждаю. но дальше ничего не происходит, даже до пароля дело не доходит. будто завис процесс и надо его стопать.
/backup/www/data.tar.gz | ssh [email protected] "tar xvf /www/data"
/backup/www/data.tar.gz | ssh [email protected] "tar xvf data.tar.gz /www/data"
так тоже не получается, ошибки выдаёт с правами, потом запрашивает всё-таки пароль, но снова ошибки
Cannot open: No such file or directory
Error is not recoverable: exiting now
подскажите плиз правильную комбинацию
Последний раз редактировалось migratetobrain; 29.04.2020 в 18:09.
|
|
|
01.05.2020, 10:59
|
#16
|
Юниор
Регистрация: 15.10.2014
Сообщений: 27
Бабло: $25775
|
обратно можно так
ssh [email protected] "cat /backup/www/data.tar.gz" | tar zxvf -
|
|
|
|