Wget из ошибки памяти уничтожает процесс

Используйте PDFjam, чтобы сделать это.

См.: https://superuser.com/questions/246092/how-to-convert-a-1-page-pdf-to-a-2-page-per-sheet-pdf

5
27.04.2016, 21:13
1 ответ

Это кажется wget циклы вызывают переполнение памяти.
Естественное первое предложение состоит в том, чтобы увеличить снова память Вашего облачного экземпляра с 1 ГБ до 2 ГБ. Это недавно решило подобную проблему.

Если это не возможно или не решает проблему, второе решение состоит в том, чтобы работать wget в 2 шагах:

  1. Получите список файлов. Как я вижу в Вашем снимке экрана, файлы находятся в каталоге cloud.some_domain.com/remote.php/carddav/addressbooks/your_name/.
    Так, выполненный wget получить индекс каталога:
    wget https://cloud.some_domain.com/remote.php/carddav/addressbooks/your_name/
    Это даст Вам index.html файл.

  2. Теперь можно проанализировать его для получения имен файлов для загрузки:

    grep ".vcf" index.html | awk -F"href=" '{print $2}' | awk -F\" '{print $2}' > ALL_VCF_FILES.lst
    for elt in `cat ALL_VCF_FILES.lst`
    do
    wget https://cloud.some_domain.com/remote.php/carddav/addressbooks/your_name/$elt
    done
    rm ALL_VCF_FILES.lst index.html
    
3
27.01.2020, 20:41
  • 1
    это - лучшее решение ti моя проблема! Я сообщу ASAP, если он будет работать. –  giovi321 07.01.2014, 18:24
  • 2
    Вы приветствуете! Я отредактировал части кода для соответствия лучше всего случаю (HTTPS) –  Slyx 07.01.2014, 18:30
  • 3
    я должен благодарить @Slyx! Ваш код был почти прекрасен. Единственная проблема состояла в том, что список ALL_VCF_FILES.lst был списком как/remote.php/carddav/addressbooks/user/contacts/xxxxxxxxx.vcf, это означает, что ссылка пропускает "cloud.domain.com". Используя sed я заставил простое найти и заменить как это: sed 's/\/remote.php\/carddav\/addressbooks\/user\/contacts\//https:\/\/www.cloud.domain.com\/remote.php\/carddav\/addressbooks\/user\/contacts\//g' ALL_VCF_FILES.lst> all_vcf_files.lst, Возможно, можно включить это в ответ для создания кода завершенным. Это работает как очарование! –  giovi321 07.01.2014, 18:48
  • 4
    wget - no-check-certificate-e robots=off - user=user - пароль ='pswd' blabla grep ".vcf" index.html | awk-F "href =" '{печатает 2$}' | awk-F \" '{печатают 2$}'> ALL_VCF_FILES.lst sed 's/\/remote.php\/carddav\/addressbooks\/user\/contacts\//https:\/\/cloud.domain.com\/remote.php\/carddav\/addressbooks\/user\/contacts\//g' ALL_VCF_FILES.lst> all_vcf_files.lst для elt в cat all_vcf_files.lst сделайте wget-nc - no-check-certificate-e robots=off - user=user - пароль ='pswd' $elt сделанная комната ALL_VCF_FILES.lst index.html all_vcf_files.lst mv *.vcf/home/scripts/owncloud_backup/vcf/ –  giovi321 07.01.2014, 18:51
  • 5
    @user3161330 вместо того, чтобы добавить a sed строка мы можем просто добавить недостающую часть URL перед $elt переменная. Посмотрите мое редактирование. 2-й: у Вас есть pathchain в Вашем index.html, потому что Вы запросили этот определенный файл в Вашем wget commad. –  Slyx 07.01.2014, 18:57

Теги

Похожие вопросы