Позднее Ctrl + ↑

PDF в командной строке linux

работаем с PDF в командной строке linux

в примерах использованы консольные утилиты convert, gs, pdftk

PDF в JPG высокого качества

convert           \
   -verbose       \
   -density 600   \
   -trim          \
    input.pdf      \
   -quality 100   \
   -flatten       \
   -sharpen 0x1.0 \
    finished.jpg

склеиваем несколько PDF

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dAutoRotatePages=/None -sOutputFile=compressed_PDF_file.pdf document1.pdf document2.pdf

сжимаем PDF

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=compressed_PDF_file.pdf input.pdf

-dPDFSETTINGS=/prepress — 300 dpi
-dPDFSETTINGS=/ebook — 150 dpi
-dPDFSETTINGS=/screen — 72 dpi

сжимаем PDF (нестандартное разрешение)

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -dColorImageResolution=120 -sOutputFile=compressed_PDF_file.pdf input.pdf

-dColorImageResolution=120 — среднее между screen и ebook

поворачиваем PDF на 90°

pdftk input.pdf cat 1-endeast output finished.pdf

поворачиваем PDF на -90°

pdftk input.pdf cat 1-endsouth output finished.pdf

вырезаем нужные страницы (со второй по десятую)

pdftk input.pdf cat 2-10 output finished.pdf

склеиваем PDF

pdftk document1.pdf document2.pdf cat output finished.pdf

сохранение PDFв многостраничный tiff

gs                        \
  -o multipage-tiff.tif \
  -sDEVICE=tiffg4         \
  -r300x300         \
   multipage-input.pdf

конвертация многостраничного tiff в монохромный

convert multipage-tiffg.tif -monochrome -compress lzw monochrome.tif

php пинг устройств

проверим скриптом доступно ли устройство

нашёл функцию на просторах:

function ping($host, $timeout = 1) {
    /* ICMP ping packet with a pre-calculated checksum */
    $package = "\x08\x00\x7d\x4b\x00\x00\x00\x00PingHost";
    $socket  = socket_create(AF_INET, SOCK_RAW, 1);
    socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array('sec' => $timeout, 'usec' => 0));
    socket_connect($socket, $host, null);
    $ts = microtime(true);
    socket_send($socket, $package, strLen($package), 0);
    if (socket_read($socket, 255)) {
        $result = microtime(true) - $ts;
    } else {
        $result = false;
    }
    socket_close($socket);
    return $result;
}

возвращает в миллисекундах время ответа устройства или ничего не возвращает, если устройство выключено

Внимание! требует повышение прав

Hestia (Гестия) — идеальная панель управления вэб сервером

После того как перенес почту на яндекс прям внутренне спокойствие наступило, не рекламы ради, а действительно очень удобно иметь почту своего домена на публичном хостинге, я не говорю про uptime 24/7, для меня было критично попадание моих писем в грей листы, потеря почты во время простоя домашнего сервера из-за провайдера или из-за отсутствия электроэнергии. В общем, я сейчас спокоен, письма получу в любом случае и такая возможность досталась бесплатно. Никакой абонентской платы, что редкость на сегодняшний день.

Так вот, очень хотелось получить бесплатный хостинг, пусть даже с минимальными параметрами.
И мне это удалось... да-да... этот блог крутится именно на таком хостинге.

Теперь по порядку. С чего начало и чем закончилось.

Выбор пал, конечно же, на oracle cloud. Честно, хотел зарегистрировать отдельную учётку, но из-за ручной модерации, все как-то пошло не так и пришлось импровизировать.

Для начала готовим сервер, я взял ubuntu 20.4 и тут же вылезла проблема с версией ядра. Да, я хотел перестраховаться и иметь полный бэкап сервера у себя дома. Как победил проблему и дайнгрейдил ядро можете почитать тут: https://voronin.one/all/downgrade-yadra-ubuntu-do-versii-5-4/

После того, как система была установлена и снят образ резервной копии я перешёл непосредственно к хостингу.

Подготовил сабдомен (можете отдельный домен выделить), но я жадный =) помните, мы же не платим ни копейки, почтовый адрес (мой личный) и вперед.

По инструкции с сайта https://www.hestiacp.com скачиваем инсталляционный скрипт и запускаем установку от админа (sudo). Скрипт выругался на наличие группы «admins», по-этому его пришлось запустить с ключом —force.

sudo bash hst-install.sh --force

отвечаем на вопросы и устанавливаем панель управления.

по завершении работы скрипта получаем инструкцию, с адресом админ панели, логином и паролем администратора (не пропустите), кстати, на посту эти данные тоже придут, если вы указали правильный e-mail.

Не забудьте для виртуалки открыть следующие порты:

как это сделать я писал в этой статье: https://itscience.pro/all/antizapret-na-oracle-cloud-i-padavan/

теперь переходим непосредственно в нашу панель, авторизуемся и создаем пользователя. Сама система нам порекомендует создать отдельную учетную запись, не работать из под администратора.

создаем сайты, базы, ftp пользователей и у вас должно все работать. У меня заработало.

Да, сертификат ssl Lets Encrypt выпускается без проблем в автоматическом режиме.

Ранее Ctrl + ↓