LINUX.ORG.RU

архивирование ssh


0

1

подскажите плиииз делаю архив по ssh так вот: <code>tar -zcvf oleg.tar.gz oleg.ru</code> в итоге архив почему то иногда получается разной величины ! и при разархивировании выдаёт в конце ошибку - неожиданный конец архива ! что делать ? как исправить и в чём может быть дело ?

libastral mode

Места на хостинге не хватает.

anonymous
()
Ответ на: комментарий от morgusha

на хосте есть место ! не делается архив ! вернее делается но при распаковки всегда ошибка (

morgusha
() автор топика
Ответ на: комментарий от morgusha

если делаю архив из папки то получается вес архива 60Мб ! если делаю архив внутри папки так вот <code>tar -zcvf stroy.tar.gz ./</code> то архив весит 90 мб ! в чём разница и почему так ?

morgusha
() автор топика
Ответ на: комментарий от morgusha
sshfs имя_юзера@хост:/путь_к_патке /mnt -C -p номер_порта

у тебя на локалхосте будет подключена папка в /mnt
дальше делай как с обычной фс

smilessss ★★★★★
()
Ответ на: комментарий от smilessss

большая папка архивируется нехватка ресурсов по тарифу походу !( а как сделать архивирование по частям в цикле скажем ? разбивать на 3 архива...так можно ?

morgusha
() автор топика
Ответ на: комментарий от morgusha

Заархивировать, потом split, потом передать на удаленный хост тома.

И, да, ты же видишь что ты некорректно разметку используешь?! Вместо больше-меньше теги обрамляются квадратными скобками.

alozovskoy ★★★★★
()
Последнее исправление: alozovskoy (всего исправлений: 1)
Ответ на: комментарий от DonkeyHot

выделенных тарифным планом на сервере видимо ! вообщем не пойму что значит заархивировать а потом split ? нужно что бы папка разбивалась по 150мб скажем ! ну и первый архив 150мб потом второй 150мб ! так реально сделать ? или как писать лог выполнения архивации в файл на сервер ?

morgusha
() автор топика
Ответ на: комментарий от morgusha

выделенных тарифным планом на сервере видимо

Ещё раз вопрос: каких ресурсов? Места - нужно жать лучше, или выносить наружу; процессора - нужно жать хуже или медленнее, или инкрементально в момент изменений,или хранить оригинал у себя - в зависимости от; траффика - жать лучше и хранить ближе к ним - и т.д. . А вообще, кажется, они должны были бы предоставлять сервис бекапа.

DonkeyHot ★★★★★
()
Ответ на: комментарий от DonkeyHot
saytofrf@tucson ~ $ tar -zcvf stroy1.tar.gz stroytex.msk.ru & while kill -STOP $! ; sleep 2 ; kill -CONT $! ; sleep 1 ; done
-bash: syntax error near unexpected token `done'

ошибка( и поясни строчку пожалуйста !

morgusha
() автор топика

<off>кроме тире, восклицательного и вопросительного знаков есть еще точки, запятые и двоеточия.</off>

и да, пробелы ПЕРЕД знаками препинания НЕ СТАВЯТСЯ.

bvn13 ★★★★★
()
Ответ на: комментарий от bvn13

это какое имеет отношение к строчке кода ?

morgusha
() автор топика
Ответ на: комментарий от morgusha

do после первой ";" забыл - у меня это часто после питона:). И да, копипейст команд из веба опасен. А пояснять нечего: останавливаем тар/ждём/запускаем тар, пока не умрёт. В среднем будет работать медленнее в (2+1)/1 раз. Возможны нюансы - если дисковая система намного быстрее проца, gzip останавливаться на будет, придётся его вычислять, или простой увеличивать.

DonkeyHot ★★★★★
()
Ответ на: комментарий от DonkeyHot

итак вообщем теперь встал другой вопрос ! с архивированием разобрался вроде как ! теперь если сделал так вот :

tar -xcvf - httpdocs/ > home/oleg/rrr.tar.gz
всё на локалку минуя сервера складывается в файл ! теперь надо локалки распоковать архив на сервер в директорию ! что бы не заливать весь архив на сервер он весит 4Гб ! делал так вот :
tar -xzvf rrr.tar.gz | ssh oleg@oleg.ru /httpdocs/
но ничего не вышло ( если перенаправить стандарный вывод tar в файл то тоже не ясно не понятно потому как в файл не нужно, нужно в дирректорию...так можно ?

morgusha
() автор топика
Ответ на: комментарий от morgusha

tar -xcvf - httpdocs/ > home/oleg/rrr.tar.gz
всё на локалку минуя сервера складывается в файл

Не верю. Во-первых у тебя указано и создание и распаковка, во-вторых не указано сжатие. Давай точную команду.

делал так вот :
tar -xzvf rrr.tar.gz | ssh oleg@oleg.ru /httpdocs/

А надо было scp rrr.tar.gz oleg@oleg.ru:rrr.tar.gz и распаковывать уже там, если я правильно понял.

ziemin ★★
()
Ответ на: комментарий от ziemin
tar -zсvf rrr.tar.gz > home/oleg/rrr.tar.gz

так вот кажется ! скопировал по scp я уже точно не помню команду, но по scp это точно всё скопировалось ! там уже распаковал !

morgusha
() автор топика
Ответ на: комментарий от ziemin

нет, я думал, что перенаправить вывод tar при сжатии сразу на локалку и в архив,то это быстрее, чем сжимать на серваке и потом копировать на локалку ! и так же думаю, что перенаправить вывод tar при распаковке в директорию было бы тоже быстрее чем копировать 4гб fh'bd по scp, а потом разарживировать его на серваке ! плюс по тарифу не всегда бывает, что валяется 8гб свободных ) ну и вообще это просто была моя идея. поправьте и скажите командами как делать быстро ! ?

morgusha
() автор топика
Ответ на: комментарий от morgusha

поправьте и скажите командами как делать быстро

Быстрее всего делать через rsync. Я ведь правильно понял, что ты что-то там поменял и хочешь всё назад залить?

ziemin ★★
()
Ответ на: комментарий от ziemin

видимо в rsync это можно сделать парой команд ?) да перезалить всю директорию сайта 4гб ) вернее уже перезалил, но как то не продуктивно вышло !) совсем тупо )

morgusha
() автор топика
Ответ на: комментарий от morgusha

Да это одна команда. Справку почитай. Тебе подойдёт что-то вроде

rsync -rvz /data/tmp foo:src/bar

foo - твой сервер, остальное пути.

PS: указывать надо сразу распакованные файлы. rsync сам разберётся, что надо пересылать, а что нет.

ziemin ★★
()
Последнее исправление: ziemin (всего исправлений: 3)
Ответ на: комментарий от ziemin

вообщем никак не могу понять ! делаю так вот :

tar -zcvf - /home/s/sa/pu/httpd/>1.tar.gz | 2>err.txt
архив создаётся в ошибках ничего не пишется просто пустой файл создаётся ! архив битый ! неожиданный конец winrar пишет ( как можно ещё ошибки залогировать может подругому ?

morgusha
() автор топика
Ответ на: комментарий от morgusha

приём приём ! подскажите же !

#backup 1luxur.ru
#ssh user1@5.178.5.7 tar -zcvf - /var/www/user1/data/www/1luxur.ru/ > $dirbackup/1luxur.tar.gz
#ssh user1@5.178.5.7 mysqldump -uroo -pGdWhvQ 1luxur > $dirbackup/1luxur.sql
echo "backup 1luxur.ru is complete" >> $dirbackup/1.txt

#для вывода ошибок
err=$?
if [ $err == 0 ]; then
    echo "Backup is finished" >> $dirbackup/3.txt
	echo "Backup of data is finished"
else
    echo "Backup failed! Error: $err">> $dirbackup/3.txt
    exit $err
fi
специально сделал ошибку в пароле БД на терминал ошибка выводится. файл 3.txt создаётся пустым и файл базы тоже пустым. если убираю строку
echo "backup 1luxur.ru is complete" >> $dirbackup/1.txt
то файл 3.txt создаётся и в него пишется
Backup failed! Error: 2
почему так ?

morgusha
() автор топика
Ответ на: комментарий от morgusha

вообщем как сделать так что бы ошибки которые появляются в терминале писались в файл ! а то на терминале ошибки одни,а в файле пишется просто error 1 или error 2

morgusha
() автор топика
Ответ на: комментарий от morgusha

в $? лежит код возврата _последней_ выполненной команды.
ту часть команды, которая должна выполняться удалённо, я бы заключил в кавычки:
ssh user1@5.178.5.7 'tar -zcv /var/www/user1/data/www/1luxur.ru/ ' > $dirbackup/1luxur.tar.gz

aol ★★★★★
()
Ответ на: комментарий от aol

понял про код возврата ! тоесть надо для каждого соединения делать так вот :

#backup 1luxur.ru
#ssh user1@5.178.5.7 tar -zcvf - /var/www/user1/data/www/1luxur.ru/ > $dirbackup/1luxur.tar.gz
err=$?
if [ $err == 0 ]; then
echo "Backup is finished" >> $dirbackup/3.txt
else
    echo "Backup failed! Error: $err">> $dirbackup/3.txt
fi
#ssh user1@5.178.5.7 mysqldump -uroo -pGdWhvQ 1luxur > $dirbackup/1luxur.sql
if [ $err == 0 ]; then
echo "Backup is finished" >> $dirbackup/3.txt
echo "backup 1luxur.ru is complete" >> $dirbackup/1.txt
тогда код выполнения каждой команды будет дописываться в фал, верно ???

morgusha
() автор топика
Ответ на: комментарий от morgusha

если заключать в одинарные ковычки команды , коотрые должны выполняться на сервере, то тогда не делается бэкап базы и выходи по ошибке ! если в довйные то отрабатывает !

morgusha
() автор топика
Ответ на: комментарий от morgusha

не могу разобраться как отправить себе на почту прикреплённый файл ! или хотя бы просто отправить текст на почту с ubuntu на gmail?

morgusha
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.