LINUX.ORG.RU

неизвестный формат или ошибка в архиве при копировании с фтп

 , , ,


0

1

упаковываю папку tar -czvf

распаковывается

Заливаю на ftp ( vsftpd )

Сливаю

получаю

неизвестный формат или ошибка в архиве



Последнее исправление: prozak (всего исправлений: 2)

Ответ на: комментарий от prozak

с ошибкой слилось, наверное, проверь md5 hash.

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

Если букву p перевернуть, то будет md5: проверь хэшсуммы исходного, залитого и скачанного файлов при помощи md5sum. На каком-то шаге (почти наверняка) архив заливался в текстовом формате вместо двоичного (с трансляцией переноса строки, из-за чего содержимое могло измениться).

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

у меня заливкой занимается скрипт bash

function UPLOAD()
{
        clear
        echo "file uploaded on FTP Server ${server_ip}"
                echo ""
                echo ""
                echo ""
                echo "file:                                                    ${backup_name}${backup_format}"
                echo "file size:                                $(du -h ${backup_name}${backup_format}  | awk 'END{ print $1 }')"
                echo "Backup Folder:                                    ${server_dir}"
        echo "Server:                                                   ${server_ip}"
        echo ""
        echo ""
        echo ""
                sleep 1
ftp -n $server_ip <<INPUT_END
quote user $server_user
quote pass $server_userpassword
cd $REMOTEPATH
prompt on
put $backup_name$backup_format $server_dir/$backup_name$backup_format
exit
INPUT_END
                sleep 10
                echo ""
                echo ""
                echo ""
        echo "file upload OK!"
prozak
() автор топика
Ответ на: комментарий от UVV

Благодарствую,господа. прокатило.

Еще вопрос.

имею структуру файлов

папка /var/files в ней куча папок с файлом. каждая папка имеет название в виде даты её создания. Каким образом заставить скрипт архивировать каждую папку отдельно и кидать на фтп,кроме последней созданной?

prozak
() автор топика
Ответ на: комментарий от prozak
for i in `ls -lt /var/files | tail -n+2`; do file=/tmp/`basename $i`; tar -czf $file $i` $i; ftp_put $filename; done

Где ftp_put — функция, которая запихивает архив на ftp.

Код не проверял, непонятные команды гугли.

Сразу известный косяк: если в /var/files есть файлы, то еще и их захватит. Если папки изменяются не по порядку, то ls -lt может выдать не то. На всякий случай читай man find и man sort.

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

папка создается каждый день новая,пишется файло только в последнюю папку. файлов в общем каталоге нет.

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

Простите,я совсем ламус в этом. С трудом запустил скрипт.

Обнаглею в край и спрошу - как применить этот код в рамках скрипта,который я выше указал? Могу весь скрипт привести

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

Ну, видимо, надо этот код дописать в скрипт, не?.. В функции UPLOAD приделать обработку аргумента (имени архива), а в том фрагменте, который я набросал, вызывать эту функцию (я ее ftp_put обозвал в примере).

Дальше уж сам копай, man-ы есть по всем командам.

Kiborg ★★★
()

упаковываю папку

мамку упаковывай, вендузоид

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