MoneyTracker под Linux
MoneyTracker — система персонального финансового учёта, опыт работы под Linux
Введение
В стремлении к уменьшению энтропии в своей жизни пришёл к выводу о необходимости финансового учёта семейного бюджета. Начинал с самого простого — табличка в Excel, но довольно быстро понял, что это не вариант — либо надо разрабатывать что-то серьёзное на этой платформе, а для этого нет ни желания, ни опыта, либо простейшие вещи, вроде группировки по статьям расходов или счетам превращается в муку. Короче, нужна автоматизированная система учёта.
Имею небольшой опыт администрирования 1С:Предприятие и, в общем-то, можно было бы взять эту платформу, но это из пушки по воробьям. Плюс, 1С стоит ощутимых денег, а хотелось бы лицензионной чистоты. А ещё у меня нет Windows и нужна система под эту ОС, или, в крайнем случае, работающая под Wine.
В общем, пришлось перелопатить много систем, выбрать есть из чего, но большая их часть выглядят детскими поделками по сравнению с профессиональной 1С. Авторы реализуют такие очевидные ляпы, которые делают их разработки нежизнеспособными:
- неудобный ввод
- невнятный вывод
- не функциональные отчёты, я не мог получить то, что хотел
В этой статье я не собираюсь описывать все программы, которые перебрал. В итоге я остановился на MoneyTracker и вот почему (всё это ИМХО):
- понятная система счетов
- мультивалютность, хотя в реальности оперировать чем-то кроме рублей, долларов и евро сложно
- удобный ввод, горячие клавиши, выбор из справочников по первым буквам
- отчёты, которых мне в общем-то хватает
- невысокая цена и хорошая поддержка на русском языке (разработчики — наши соотечественники)
- особая система триальной версии
О последнем несколько подробнее: обычный триал для программ данной категории — работа в течение 30 дней. После 30 дней — просят денюжки. Месяц для меня — не тот срок, за который происходит много финансовых операций. Я выбирал систему месяца четыре и за это время пару раз переносил все транзакции из одной программы в другу просто руками, естественно, совместимого экспорта/импорта просто нет. Разработчики MoneyTracker поступили мудро — разрешили использование без каких-либо ограничений до тех пор, пока в системе не появится 256 записей. Для меня это растянулось на пару месяцев: два месяца данных, перенесённых из других программ и два месяца успешной работы в MoneyTracker — достаточно много чтобы:
- понять, что система меня устраивает, смириться со всеми недостатками
- привязаться к ней
- просто жаль терять данные за квартал, а переносить вручную уже сложно
В итоге я взял пластиковую карту и без сожалений переслал разработчику 400 рублей, получил лицензию и успешно пользуюсь программой вот уже два года.
Особенности работы под Wine
Как я писал выше, по определённым соображениям я не использую ОС Windows. Но MoneyTracker написан под неё и писать версию под Linux, наскольк я понимаю, никто не собирается. Для обхода этого ограничения существует два стандартных решения:
- виртуальная машина внутри Linux, например свободная Virtual Box, с ОС Windows, но тогда надо либо возиться с триалами Windows, либо покупать. Не интересно и громоздко для моего нетбука, который я использую
- Wine, эмулятор WinAPI, с помощью которого можно совершенно легально запускать программы Windows под UNIX/Linux
Второй вариант оказался вполне работоспособным, есть небольшие баги в интерфейсе, не влияющие на юзабилити для меня.
Испробовал работу в следующей конфигурации: - Asus EeePC 1000HA - Разные варианты Ubuntu = Wine 1.1.42 вообще без настройки, out of box
Для запуска и резервного копирования я использую следующий скрипт:
#!/bin/sh wine /home/user/DominSoft/MoneyTracker/MoneyTracker.exe user=1 # собственно запускаем программу, параметр user=1 нужен для автоматического входа без ввода пароля. Работаем в программе. sleep 2 # пауза две секунды, почему-то без неё Backup.exe вываливается с ошибкой. wine /home/user/DominSoft/MoneyTracker/Backup.exe -b # запускаем Backup.exe с ключом -b для автоматического резервного копирования. Программа должна положить файл с выгрузкой в папку /home/userDominSoft/MoneyTracker/Backup/ bzip2 -9 /home/user/DominSoft/MoneyTracker/Backup/*.fbk # Пакуем выгрузки. Каждая будет в своём архиве. Уникальность имён файлов обеспечивает сам Backup.exe. ftp ftp.backup.address # Запускаем автоматизированное сохранение полученных архивов на ftp. См. ниже настройку файла .netrc. rm -f /home/user/DominSoft/MoneyTracker/Backup/* Удаляем выгрузки, они лежат в надёжном месте.
Для того, чтобы запуск утилиты ftp приводил сохранению нужных нам файлов в нужно месте нашего сервера нужно в файле .netrc (должен находится в домашней директории пользователя, при необходимости нужно создать его).
Содержимое следующее:
machine ftp.backup.address # Адрес ftp. Должен совпадать с адресом в скрипте login ftp_user password ftp_password macdef init bin prompt off lcd ~/DominSoft/MoneyTracker/Backup/ # откуда брать файлы cd backup/ # папка на ftp, куда будем сохранять mput *.bz2 # что закачать на ftp quit # выход
Вот такой нехитрый скрипт будет надёжно сохранять резервные копии базы MoneyTracker на ftp. можно пользоватьяс без ограничений.