Billings через Dropbox

Написал admin . Опубликовано в Billing, Mac OS X просмотров 148

Так себеПойдетХорошоПонравилосьОтличный пост (No Ratings Yet)
Загрузка...

Есть отличный софт под названием Billings.  Все бы хорошо, но это однопользовательское приложение (хотя у них и появилась Billings Pro версия, которая может работать в клиент-серверном режиме, но я привык к этой версии, да и дешевле она). Мне надо работать с этим приложением с разных компьютеров, поэтому для синхронизации БД Billing мы попробуем использовать Dropbox.

И так, что нам надо выполнить для реализации этой задачи:

Приложение Billings закрываем!!!

1. Перенести папку Library/Application Support/Billings/Database в Dropbox
# mkdir ~/Dropbox/Billings
# mv ~/Library/Application Support/Billings/Database ~/Dropbox/Billings
# ln -s  ~/Dropbox/Billings/Database ~/Library/Application Support/Billings/

2. Запретить одновременную работу Billings из разных мест.

Для этого, при запуске приложения, будем создавать lock файл и проверять его наличие. Все это дело опишем в отдельном враппере, к примеру в Billings.app/Contents/MacOS/Billings.wrapper

#!/bin/bash
#Adds locks to Application Support folder
lockfile="/Users/`whoami`/Library/Application Support/Billings/Database/lock"

if [ ! -e "$lockfile" ]; then
   trap "rm -f '$lockfile'; exit" INT TERM EXIT
   touch "$lockfile"
   `dirname $0`/Billings "\[email protected]"
   rm "$lockfile"
   trap - INT TERM EXIT
else
  logger "Bllings are alredy running"
fi

Переопределим запуск в свойствах приложения, чтобы запускался наш враппер
# defaults write /Applications/Billings.app/Contents/Info CFBundleExecutable Billings.wrapper
Теперь, чтобы все заработало, перенесем приложение Billings куда нибудь и вернем его на место.

Похожие статьи:

Метки: , ,

Trackback from your site.

Leave a comment