Skip to content

gromoff97/PW

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RUSSIAN DESCRIPTION

Что это?

Программа для наблюдения за директорией и автоматической обработки появившихся в ней "jpg" и "png"-файлов, работающая при помощи программы мониторинга "inotify".

Конкретнее?

Если в watch-директорию "попадает" файл с расширением ".jpg" или ".png", то программа ,по необходимости, конвертирует файл в ".png" и сокращает размер картинки, иначе этот файл удаляется. В дальнейшем переработанный файл попадает в указанную output-директорию.

Для чего это нужно?

  1. Картинки для сайтов не должны загружаться слишком долго, потому что это вредит производительности сайта. Для этого полученный контент и "сжимается" в свои принятые размеры.
  2. Конвертирование и сжатие каждого файла - монотонная работа, поэтому и была придумана подобная автоматизация.

Какими способами можно перемещать файлы в "watch"-директорию и/или создавать их в ней же?

Можно использовать все (или почти все) типичные способы, как:

  • touch
  • cp
  • mv
  • ssh

Внимание: не перемещайте файлы из out-директории в in-директорию напрямую. Вполне вероятно, что работа программы будет некорректна.

Как это запустить?

  1. Скачайте/склонируйте репозиторий на локальную машину.
  2. Установите "inotify-tools", если он у вас ещё не установлен. На Debian/Ubuntu это делается следующим образом:
sudo apt-get install inotify-tools
  1. Установим ещё две важных утилиты: "pngquant" для сжатия и "mogrify" для конвертирования. "Mogrify" - это лишь часть пакета "imagemagick".
    Debian/Ubuntu:
sudo apt-get install pngquant
sudo apt-get install imagemagick
  1. Сконфигурируем и скомпилируем все данные. Для этого достаточно запустить следующие команды в директории проекта:
./configure
make
  1. Чтобы запустить программу достаточно выполнить следующее:
./<project_path>/dpw <watch_dir> <output_dir>

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

Если вы хотите успешно завершить программу, то сделайте так, чтобы в "watch"-директории появился файл ".end_inotify_properly".

Внимание: если вы передаёте несколько файлов ( например, по ssh ), то убедитесь, чтобы этот stop-файл был передан последним.

Можно ли посмотреть историю работы?

Да, эта информация будет содержаться в файле "logs", который находится в корне проекта.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published