December 20, 2009

Делаем бекап документов из Google Docs

Послушал предпоследний подкаст Radio-t и в месте где ведущие жаловались на невозможность сделать бекап документов из Google Docs, и опасность потери всех документов я разволновался. В то что невозможно сделать бекап я не поверил, но сделать бекап всетаки решился.

Усомнился в невозможности сделать бекап потому что я то знаю про существование проекта Data Liberation где рассказано как сделать бекап/забрать свои данные с любого Google-проекта. Касательно бекапа Google Docs описано здесь. В двух словах — выделяем все документы чекбоксами, идем в меню More Actions -> Export, настраиваем экспорт и скачиваем. Буквально пару кликов.

Единственная проблема — кодировка! Вот так выглядят мои документы в названии которых есть русский текст. Внутри документа русский текст отлично экспортируется.



P.S. заодно узнал что у меня там 141 документ :).

December 10, 2009

Как получить директорию из которой запускается bash скрипт?

Ух, давно не писАл в свой блог. Заметил что иногда обращаюсь к своим же постам чтобы посмотреть решение о котором писал ранее. Вот и сейчас решил запостить коротенькую заметочку.

Итак, пишу я bash скрипт для автоматизации всяких deployment задач. Долго мучался чтобы правильно определить папку в которой лежит запускаемый скрипт. `pwd` выдает директорию из которой запускается команда (например если я нахожусь в папке /home/user и запускаю скрипт как ./bin/script.sh, то ROOT_DIR=`pwd` будет иметь значение /home/user вместо /home/user/bin), а ROOT_DIR=$0 вернет относительный путь (в нашем примере ./bin/script.sh)

Найдя решение в одном из своих старых скриптов, подумал что создатели Bash курили то же что и создатели Perl. Решение краткое, но придумать его не так просто.

#!/usr/bin/env bash
ROOT_PATH=$(cd $(dirname $0) && pwd);
echo $ROOT_PATH;

Теперь в переменной ROOT_PATH будет путь к директории в которой лежит скрипт, и нам не стоит задумываться из какой директории запускать скрипт чтобы избежать неожиданных проблем.

Happy Coding .