Я использую wget для зеркалирования некоторых файлов с одного сервера на другой. Я использую следующую команду:
wget -x -N -i http://domain.com/filelist.txt
-x = Потому что я хочу сохранить структуру каталогов
-N = отметка времени, чтобы получить только новые файлы
-i = Чтобы загрузить список файлов из внешнего файла, по одному в каждой строке.
Небольшие файлы, такие как один, который я тестирую, это загрузка размером в 326 КБ.
Но другой, который составляет 5 ГБ, загружает только 203 МБ, а затем останавливается (это всегда 203 МБ, которые дают или принимают несколько килобайт).
Отображаемое сообщение об ошибке:
Невозможно записать в athp / to / file.zipâ
(Я не уверен, почему существуют странные символы до и после. Я использую Putty в Windows, и это может иметь или не иметь какое-то отношение к этому, поэтому я оставил их. Хотя, я полагаю, нет.).
Полный ответ выглядит следующим образом: (я заменил пути, IP и доменное имя)
--2012-08-31 12: 41: 19-- http://domain.com/filelist.txt Разрешение domain.com ... MY_IP Подключение к domain.com | MY_IP |: 80 ... подключено. HTTP-запрос отправлен, ожидание ответа ... 200 OK Длина: 161 [text / plain] Файл сервера не новее локального файла âdomain.com / filelist.txtâ
--2012-08-31 12: 41: 19-- http://domain.com/path/to/file.zip Подключение к domain.com | MY_IP |: 80 ... подключено. HTTP-запрос отправлен, ожидание ответа ... 200 OK Длина: 5502192869 (5.1G) [application / zip] Размеры не совпадают (локальный 213004288) - получение.
--2012-08-31 12: 41: 19-- http://domain.com/path/to/file.zip Подключение к domain.com | MY_IP |: 80 ... подключено. HTTP-запрос отправлен, ожидание ответа ... 200 OK Длина: 5502192869 (5.1G) [application / zip] Сохранение в: âdomain.com / path / to / file.zipâ
3% [====>
] 213 003 412 8,74 М / с в 24 сНевозможно записать на âdomain.com / path / to / file.zipâ
Кажется, что не имеет никакого значения, если каталог пути уже существует или создается на лету.
У кого-нибудь есть идеи, почему он остановился и как я могу это исправить?
Любая помощь с самой высокой оценкой.
РЕДАКТИРОВАТЬ: Я также попытался просто сделать wget, без ввода файла и переименования файла. На этот раз он загружает чуть более 3 ГБ, а затем выдает ту же ошибку записи.
wget -x -N http://domain.com/path/to/file.zip -O files/bigfile.zip
источник
-O
опциюwget -O test.zip http://link
Ответы:
Вы получите эту ошибку, если у вас недостаточно места на диске. запустите df, и вы увидите, находится ли каталог, в который вы пишете, на 100%
источник
Это проблема с длинным URL. Я тоже с этим столкнулся. Итак, я использовал bit.ly и сократил URL. Работает как Шарм!
источник
wget
процесс.wget http://dltr.org/skin/frontend/lowes/default/css/custom.css?001
Я просто добавил
-
вtar
команду после канала после wgetя имел
затем изменил его на
источник
Если он начинает сохранять большой файл и записывает 203 МБ, я подозреваю, что у вас либо полная файловая система на принимающей стороне, либо истекло время ожидания сетевого подключения.
Вы можете использовать df -h на принимающем сервере, чтобы увидеть, переполнена ли файловая система
Проверьте этот ответ для вопросов тайм-аута с wget:
/programming/2291524/does-wget-timeout
Кроме того, попробуйте повторить неудачную передачу и пропустите опцию -N timestamp.
Кроме того, запустите ulimit -a, чтобы увидеть, существует ли ограничение размера файла на принимающем сервере.
источник
Наконец-то понял, и это была космическая проблема. Это проблема с 1and1 Cloud Server, подробнее об этом здесь: http://www.mojowill.com/geek/1and1-dynamic-cloud-server-disk-allocation/
источник
Я делал что-то похожее на:
Я получал:
В моем эквивалентном файле filelist.txt у меня был такой URL:
Поэтому для отладки я попытался создать тот же файл, который пытался создать wget:
Виола! Похоже,
?
проблема была в этом, но хорошей практикой было бы удалить все специальные символы из имен файлов, представьте, что&
будет делать, если не избежать.источник