понедельник, 1 июня 2015 г.

Дифференциальный архив 7z для бекапа

Как делать резервные копии решает каждый сам для себя, но то, что их делать нужно - это факт. Вроде ничего сложного -  скопировал или заархивировал нужные данные в другое место и всё. Но если речь идет о ежедневном резервном копировании, то резко встает вопрос о наличии свободного дискового пространства и времени, которое потребуется для создания резервной копии данных. Если данные бекапятся на удаленный компьютер, а он должен быть территориально удален от места постоянного хранения данных (а вдруг пожар?), то встает вопрос о скорости передачи данных по каналам связи.

Дифференциальный архив позволят уменьшить и объем данных для резервного копирования, и дисковое пространство для хранения копий, и время на создания копии, и время на передачу на удаленный компьютер.

Суть его заключается в том, чтобы создать изначальный архив, а потом делать резервные копии только изменений. Например, в пятницу вечером создали архив backup_week_001.7z  с рабочими документами (файлы 1.txt 2.doc). В течение понедельника в каталоге с рабочими документами отредактировали файл 2.doc, добавили 3.xls, а также удалили файл 1.txt), то при создании дифференциального архива, например, backup_daily_20150602.7z (по приведенному мною ниже примеру) в него попадет измененный файл 2.doc, новый файл 3.xls. Файл 1.txt добавлен не будет, он ведь удалён :) При этом исходный архив backup_week_001.7z не будет изменен. Т.е. удаленный файл 1.txt и исходный файл 2.doc можно будет восстановить из архива.

Развить мысль под свои нужды, думаю, может каждый. Можно хранить постоянно недельную копию и 6 дифференциальных архивов. Можно хранить только недельные копии. Можно хранить исходный архив и все дифференциальные, чтобы восстановить изменения в данных на любую дату.

А вот и команда для создания архива :)

 7zr u arch.7z -u- -up0q0r2x2y2z0w2'!'"`date +%Y-%m-%d`".7z /home/user/PDF/* -ms=off

поясню:

  • 7zr - консольная программа-архиватор (в Ubuntu 7zr, в AltLinux просто 7z, по крайней мере у меня)
  • u - команда обновления архива
  • arch.7z - исходный архив
  • -u- - создать архив, а не обновлять (не трогать) исходный
  • -up0q0r2x2y2z0w2'!'"`date +%Y-%m-%d`".7z - настройки для отбора файлов (подробнее  смотрите справку по архиватору http://gora.7zsfx.info/7-ziphelpru/  на русском языке про команду update), а также автоподстановка текущей даты в имя создаваемого архива.
  • /home/user/PDF/* - каталог с рабочими документами, которые необходимо заархивировать.
  • -ms=off - не создавать непрерывный архив

Удачных бекапов!

пятница, 31 октября 2014 г.

VPN в Android без пароля и графического ключа

Не буду вдаваться в подробности, но понадобилось мне на телефоне (Galaxy Star на Android) подключиться к VPN. Но для создания VPN соединения штатными средствами Android требует усилить уровень защиты и поставить пароль или графический ключ.
Набрел на просторах КРОССПЛАТФОРМЕННУЮ и БЕСПЛАТНУЮ программу для создания не только VPN соединения, но и целой VPN сети - Neorouter называется. Не вижу смысла расписывать как там что настраивать - любой человек, который понимает, что ему нужна VPN сможет Neorouter настроить по инструкциям от разработчика. Хотелось бы добавить, что программа порадовала именно кроссплатофрменностью. Ставится на Windows, Mac OS X, Linux 32-bit, Linux 64-bit, Raspbian, FreeBSD, Android, iOS, WRT-девайсы.

Gnome. Старый добрый гном

Нет, конечно, Gnome 2 умер и ему на смену пришли страшные Unity, Gnome Shell, Gnome 3. Если честно, до сих пор не могу разобраться в чем у них  разница :) Но Canonical активно пихает эти штуки в новые дистрибутивы. Хвала разработчикам, что живет и процветает давно мною любимый XFCE и убунтушный дистрибутив XUBUNTU. Поставил себе на рабочий компьютер 32-х битную версию Xubuntu вместо 64-битной Ubuntu 14.4 c Cinnamon и вот что скажу: это удобно и очень быстро. Хоть и пишут кругом, что 32-х битные версии вымирают и нужно ставить 64-х битные, но когда оперативной памяти меньше 4 Гб и графика какая-то встроенная от intel, то тормоза в Unity и с остальным софтом обеспечены.
А тут немного настроек штатными средствами и всё как надо, как я люблю. Быстро и удобно.

вторник, 16 сентября 2014 г.

Ubuntu 14.4: переключение раскладки на экране блокировки


Вот и перешел я на версию Ubuntu 14.4, но обнаружился неприятный момент - если компьютер перешел в режим блокировки с включенной русской раскладкой, то ввести пароль не получается - на английскую раскладку привычными сочетаниями клавиш, которые без проблем работают в Gnome, не выходит. Приходилось нажимать кнопку "Переключить пользователя..." и входить в систему через Login screen. Есть вариант править xorg.conf, но в этом, по-сути, нет необходимости. Достаточно нажать правой кнопкой мыши на индикаторе раскладки и раскладка переключится :)
PS: PrintScreen, кстати, на работает на экране блокировки. Выручил GIMP - сделал захват экрана с задержкой по времени, чтобы успеть заблокировать экран.

воскресенье, 25 августа 2013 г.

AirVideo на Android и Linux

Однажды меня попросили помочь с настройкой AirVideo на Android-планшете, так как официальный клиент есть только под iOS. PlayMarket после поиска по фразе "air video" выдает несколько приложений, но с вышеупомянутым AirVideo сервером работает лишь AirVid. Как я понял, приложение не очень популярное в русскоязычной среде, и имевшее на момент установки проблемы с воспроизведением файлов с русскими именами. Спасибо разработчику, что оперативно выпустил апдейт после моего письма. Так что не стесняйтесь, пишите авторам программ письма, а не тупо ставьте звездочки, если вас что-то не устраивает.
Итак, с AirVideo на Android всё ясно: ставим AirVid и пользуемся. AirVid выводит все видеофайлы одним общим списком, так что первое подключение к серверу может занять продолжительное время, если на сервере расшарены папки с большим количеством файлов.

В Linux с просмотром AirVideo всё тоже достаточно просто - нужно установить расширение для XBMC. Кстати, без подключения к  интернету может ругаться, что расширению чего-то не хватает, а так XBMC сам скачает и поставит что ему надо. В XBMC видео представлены не одним списком, как в AirVid, а как они расположены в каталогах на сервере. Это и удобнее, и быстрее загружается.

Всем приятного просмотра!

вторник, 28 февраля 2012 г.

Видео по вставке нумерации на страницы в OpenOffice Writer

Давно собирался сделать мануал по вставке нумерации страниц в Openoffice.org и LibreOffice, да всё руки не доходили. Но на днях понадобилось удаленно показать как это делается. Вот и сделал "видео-урок".
Тем, кому проблематично смотреть видео, попробую описать словами.

  1. В документ добавляется колонтитул.
  2. В колонтитул вставляется поле "Номер страницы". Тут есть нюансы:
  • если необходимо, чтобы первый лист в документе был титульным и не имел нумерации - применяем к этому листу стиль "Первая страница";
  • если нужно, чтобы на втором листе нумерация начиналась с единицы, вставляем в колонтитул поле "Предыдущая страница" через пункты меню "Вставка"->"Поля"->"Дополнительно (Ctrl+F2)"->вкладка "Документ"->тип поля "Страница"->выбор "Предыдущая страница"->формат "Как стиль страницы"

В LibreOffice 3.4.3 есть пункт меню "Формат"->"Титульная страница", но я не уверен, что это есть в более ранних версиях OpenOffice.org, поэтому описанный мной способ универсальнее.

среда, 28 сентября 2011 г.

Проблемы с дисками по ОРКСЭ и их решение


В школы всей нашей необъятной Родины пришёл новый предмет  "Основы религиозных культур и светской этики". И книжки есть, и диски. Вроде всё здорово, но с этими дисками есть две проблемы: 
  • нужно устанавливать на каждый компьютер в классе
  • учебный комплекс хоть и написан на Qt и нормально запускается под Wine, но тестовые задания, использующие Flash, почему-то не везде работают.
Я написал небольшой php-скрипт, который решает обе эти проблемы разом, да еще и место на жестких дисках экономит: весь контент будет размещаться на сервере или компьютере учителя), а дети будут пользоваться им через браузер.
Теперь по порядку:
Нужно установить эти диски на компьютер. Если при установке ничего не менять, то диски установятся в ~/.wine/drive_c/Program Files/
Теперь нужно взять контент.
Рассмотрим на примере диска "Основы православной культуры ". Я его установил в ~/.wine/drive_c/Program Files/prav/ (см. Рисунок 1)
Хочу заметить, что  необязательно устанавливать диски именно на тот компьютер, который будет веб-сервером. Например, можно скинуть необходимые папки (о них чуть ниже) на диск/флешку/и т.д. и перенести на сервер. А нужны будут следующие каталоги: DATA и THEME.
рис. 1
каталог data брать со всем его содержимым (папка object и файл content.xml) и каталог theme

Причем THEME можно взять с любого диска - там хранятся элементы интерфейса программы, а в моем скрипте используются только иконки, так что при желании из каталога THEME можно удалить лишние неиспользуемые файлы.

Для того, чтобы скрипт мог работать, необходим веб-сервер с поддержкой PHP5, а тот в свою очередь мог достучаться до simplexml. Предположим, на компьютере, который будет сервером, этого ничего нет, поэтому смело командуем:
# apt-get install apache2 php5 php-xml-serializer
Поставится и веб-сервер Apache2, и PHP5 c поддержкой XML.
Обычно (я ставил на Ubuntu) каталог веб-сервера находится в /var/www
Именно туда и нужно положить вышеупомянутые папки data и theme. Обращаю внимание на то, что доступа на запись в каталог веб-сервера у обычного пользователя нет - скопируйте папки от имени root-а. Получившуюся папку /var/www/data переименуйте в /var/www/ort (или prav, или pravoslav - кому как нравится). Извлеките из ЭТОГО АРХИВА файлы INDEX.HTML и STYLE.CSS в /var/www, а INDEX.PHP и ICO.PNG в /var/www/ort
Чтобы было понятней, вот рисунок.

Подредактируйте файл /var/www/index.html под свои нужды и зайдите через браузер на веб сервер.



По аналогии перенесите контент с другого диска.

PS: Пока не получается сделать просмотр видео фрагментов. Но их можно показать и с учительского компьютера через проектор - найти файлы video.flv
Специально для ленивых и тех, кому дороги ресурсы сервера, ВЫКЛАДЫВАЮ АРХИВ С ГОТОВЫМИ СТАТИЧНЫМИ HTML ФАЙЛАМИ, чтобы не было нужды ставить PHP - достаточно будет любого веб-сервера. 
PHP и CSS код далек от идеала, но он работает, так что :P
Все вопросы задавайте в комментариях - боюсь, что рядовая Мариванна даже по такой простой (ну, я так думаю)  инструкции не справится с установкой.

пятница, 1 апреля 2011 г.

Почта (и не только) через iptables

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

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

1. Разрешим пересылку пакетов
echo 1 > /proc/sys/net/ipv4/ip_forward
2. Командуем iptables пускать нас на почту, да и вообще куда угодно
а) для всех клиентов в подсети 192.168.0.0
sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE
б) для конкретного клиента по IP-адресу
sudo iptables -t nat -A POSTROUTING -s 192.168.0.22 -o ppp0 -j MASQUERADE
СЛЕДУЕТ ОБРАТИТЬ ВНИМАНИЕ НА СЛЕДУЮЩИЕ МОМЕНТЫ:
  1. Чтобы каждый раз не выполнять команду echo 1 > /proc/sys/net/ipv4/ip_forward, нужно в файле /etc/sysctl.conf раскомментировать (или вписать) такую строчку:
    net.ipv4.ip_forward=1
  2. Команду echo 1 > /proc/sys/net/ipv4/ip_forward не получится выполнить через sudo. Сначало нужно выполнить sudo su, а уже потом, с правами root-а делать echo
  3. На клиентской машине в качестве шлюза должен быть указан адрес компьютера, на котором настраиваем iptables.
  4. На клиентской машине должен быть указан адрес DNS сервера.
  5. После перезагрузки настройки iptables слетят, поэтому можно добавить команду, например эту: iptables -t nat -A POSTROUTING -s 192.168.0.22 -o ppp0 -j MASQUERADE в файл /etc/rc.local, чтобы она автоматически срабатывала при запуске системы
  6. Указав интерфейс ppp0, я имел ввиду внешний интерфейс, т.е. это может быть и eth0

Ошибка при копировании файлов в MidnightCommander по SSH

Буквально вчера произошла одна печальная история, которая чуть не превратилась в настоящую трагедию. Вот как было дело. Нужно было перетащить по сети файлы с одной Linux-машины(AltLinux Юниор 4 из комплекта СПО) на другую (Ubuntu 10.4). Запустил MC, подцепился с Альта к Убунте и скопировал файлы. Всё вроде нормально, штатно.
Перебил Альт, поставил вместо него Убунтушку, стал заливать инфу обратно по тем же способом - бац!!! а от инфы осталась только структура каталогов. Файлов нет! Это был ппц. Всё обошлось, так как на другом компе нашлась еще одна копия документов, так что именно трагедии удалось избежать. Теперь немного технических подробностей:
1. Копировалось всё на раздел с NTFS
2. Файлы и каталоги были с русскими именами

Сейчас пробую повторить копирование с AltLinux 4.1 на Ubuntu 10.4, тоже на NTFS раздел - файлы как бы копируются, но на самом деле не появляются. При этом нет разницы, русские имена файлов или нет.

При копировании с Ubuntu 10.4 на такую же - если не убрать галку "Сохранять атрибуты", то ругается, но можно пропустить и файл копируется. А вот если копировать папку, то сама папка скопируется, а файлы с русским именами внутри неё - фиг.

Через GnomeCommander всё нормально копируется, равно как и через Nautilus.

Видать баг самого MC, причём давно, да ещё и в разных дистрибутивах...

среда, 30 марта 2011 г.

Склеить несколько изображений с помощью ImageMagic

Продолжаю пополнять свой "склерозник-шпаргалку". И снова в центре внимания всего лишь одна маленькая и простенькая команда.
В общем, что долго рассусоливать, расскажу как было дело: встала задача склеить несколько сканированных страниц документа в одну длинную страницу. Да, можно в гимпе сделать документ и вставить сканы, но это не спортивно, и, главное, такие документы периодически надо будут делать снова.
К тому же, это нужно не мне, а другому человеку - нет желания тратить время на объяснения как сделать склейку в графическом редакторе. Уж не помню когда и при каких обстоятельствах познакомился с отличным пакетом консольных программ для работы с графическим файлами под названием ImageMagic, но - "вот то, что мне нужно" - сразу подумал я :) И просто для пользователя - сделал кнопарь, показал в какую папку складывать сканы, и соответствует Linux-way.
А теперь внимание, вот она, волшебная команда, творящая сие  сильное колдунство:
montage  *.jpg  -tile 1x3  -geometry +0+0  result.jpg
не знаю как у Вас, но у меня пакет ImageMagic стоял по-умолчанию, так что ничего дополнительно ставить не пришлось. Если у Вас данного пакета нет, то смело командуйте sudo apt-get install imagemagic
Давайте разбираться что эта команда делает (на оф.сайте все примеры на английском, разбираться с ними тяжко):
montage - собственно программа, которая будет выполнять сведение изображений;
*.jpg - говорим программе взять ВСЕ (*) файлы с расширением JPG из текущей папки, можно было просто через пробел перечислить их 1.jpg 2.jpg и т.д. (вроде можно даже вот так image[1-9].jpg);
-tile 1x3 - говорит программе разместить изображения в 1 столбец и 3 строки, т.е. так, как расположены обезьянки на данной странице;
-geometry +0+0 - не делать отступов и не менять размеры изображений;
result.jpg - уже склеенное изображение, т.е. результат работы.

Как будет время, постараюсь сделать сценарий для наутилуса, чтобы было вот так:  выделил несколько файлов, выбрал действие "Склеить вертикально" и готово.

Помог решить задачу данных ресурс:
http://www.imagemagick.org/Usage/montage/#geometry_spacing