Показаны сообщения с ярлыком terminal. Показать все сообщения
Показаны сообщения с ярлыком terminal. Показать все сообщения

1 ноября 2011 г.

Перенос базы MySQL c одного сервера на другой

Пост немного оффтоп, да и в поисковике довольно быстро решение ищется, но сегодня решил опубликовать, что было "под рукой". Допустим к каждому серверу есть доступ к консоли.

На первом сервере делаем дамп базы
$ mysqldump -u[логин] -p[пароль] [базаданных] > mybase.sql

переписываем этот дамп на второй сервер, и делаем экспорт:
$ mysql -u[логин] -p[пароль] [базаданных] < mybase.sql

17 августа 2011 г.

Обработка файлов: групповая замена

Довольно часто поражаюсь, как все в консоли бывает просто реализовать. Вот сегодня мне понадобилось обработать довольно много html, и заменить в них символ "®" на его html-код "&amp#174;", внезапно консоль пришла на помощь):
$ (find . -name *html) | xargs sed -i "s/®/\&#174;/g"

14 июля 2011 г.

Конвертирование plist в бинарный формат (bplist) и обратно в текстовый

Да, мне кажется, что задача бессмысленна, так как методы чтения plist-ов ([NSDictionary dictionaryWithContentsOfFile:(NSString *)path]) одинаково хорошо понимают, что plist в бинарном формате, что в текстовом. Но все ж возникла задача отдать на редактирование plist третьей стороне для редактирования в текстовом редакторе, а для этого пришлось сконвертировать plist в текстовый формат. Итак, в терминале выполняем команду:
$ plutil -convert xml1 ./myBinaryPlist.plist 
и назад из текстового в бинарный:
$ plutil -convert binary1 ./myTextPlist.plist 

4 апреля 2011 г.

xcodebuild сборка приложения в консоли

Давно не писал в блог, времени катастрофически не хватало, впредь обещаю исправится.)

А для начала небольшой пост, о том, как можно сделать билд приложения в консоли.
Утилита xcodebuild из комплекта xCode SDK именно для этого. Хотя наверняка даже наоборот xcode IDE - графическая обертка над xcodebuild. Я

xcodebuild работает с проектом в текущей папке. Рассмотрим несколько основных параметров утилиты.
Запускается так:
$ xcodebuild [-project <projectname>] [-activetarget] [-alltargets] [-target<targetname>]... [-parallelizeTargets] [-activeconfiguration] [-configuration<configurationname>] [-sdk <sdkfullpath>|<sdkname>] [-xcconfig <filepath>][<buildsetting>=<value>]... [<buildaction>]...
из испольуемых мной параметров:

-target - задает имя таргета, который собирать в приложении
-configuration - задает конфигурацию, которую собирать
-sdk - и SDK который использовать при сборке
-list - показывает список таргетов и конфигураций для проектов в текущей папке
-showsdks - показывает доступные SDK

более детально можно узнать из мануалов:
$ man xcodebuild
В качестве "бонуса" приведу пример баш скрипта, который собирает приложение с конфигурацией "Distribution" и создает *.ipa файл. Подразумевается, что конфигурация "Distribution" настроена на подписку приложения сертификатом Ad-Hoc. Скрипт не проверяет ошибки вывода комманд, да и написался он быстрее чем этот пост:
#!/bin/sh
cd ~/work/my_project/trunk/my_project
rm -fr ./build
xcodebuild -target my_project -configuration Distribution -sdk iphoneos4.3
rm -fr ../tmp
mkdir ../tmp
mkdir ../tmp/Payload
cp -r ./build/Distribution-iphoneos/my_project.app ../tmp/Payload/
cp ./Resources/icon\@2x.png ../tmp/iTunesArtwork
cd ../tmp/
zip -r7 my_project.zip ./iTunesArtwork ./Payload
mv ./my_project.zip ../my_project.ipa
cd ..
rm -fr ./tmp

cp ./my_project.ipa ~/Desktop

6 декабря 2010 г.

SVN добавление файла в репозиторий с "@" в имени

Столкнулся с проблемой добавления файла в svn репозиторий:

  1. $ svn add ./file\@2x.png
  2. svn: warning: 'file' not found


решается просто, нужно добавить как завершающий символ в названии файла "@":

  1. $ svn add ./file\@2x.png@
  2. A (bin) file@2x.png