вторник, 27 октября 2009 г.

Делаем циклический backup/restore конфигов и красивое восстановление посредством dialog.



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

Обрисую задачи, которые решает этот скрипт:
  • Скрипт создаёт резервную копию конфига, дописывая к нему дату и время, и перемещает его в папку для хранения;
  • Скрипт имеет ротацию, т.е. следит за кол-вом конфигов в папке и удаляет самый старый, если их число превышает заданное.
  • Восстановление происходит через меню в 3 этапа:
  1. выбираем конфиг, который хотим восстановить.
  2. выбираем резервную копию для восстановления.
  3. подтверждаем наш выбор.
  • Перед восстановлением скрипт делает резервную копию восстанавливаемого файла с пометкой "_before_restore".
  • В скрипте присутвует быстрое восстановление всех конфигов на их последние резервные копии.
Код и описания - под катом.

суббота, 24 октября 2009 г.

Подключаем ICONV в nautilus или быстро меняем кодировку файла.




Очень часто, я сталкиваюсь с проблемой перекодировки файлов. К примеру, в субтитрах. Очень часто русские субтитры содержат информацию в кодировке windows-1251, а мой любимый VLC player просто отказывается выводить их нормально. Раньше проблему я решал через gedit, потом начал пользоваться консольной iconv, конечно, наверняка, существует ещё много решений, но я решил написать небольшой wrapper к iconv, чтобы облегчить себе жизнь окончательно.

Начну с того, что есть замечательная папка в Gnome - ~/.gnome2/nautilus-scripts, и какой бы скрипт вы туда не положили, он тут же будет отображаться в меню File->Scripts или по нажатию правой клавиши мышки. Скрипт нужно класть именно туда.

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

Код с описание дальше.