#= encoding: utf-8
namespace :db do desc "Backup the database to a file. Options: DIR=base_dir RAILS_ENV=production MAX=20"
task :backup => [:environment] do
datestamp = Time.now.strftime("%Y-%m-%d_%H-%M-%S")
base_path = ENV["DIR"] || "db"
backup_base = File.join(base_path, 'backup')
backup_folder = File.join(backup_base, datestamp)
backup_file = File.join(backup_folder, "#{RAILS_ENV}_dump.sql.gz")
FileUtils.mkdir_p(backup_folder)
db_config = ActiveRecord::Base.configurations[RAILS_ENV]
pass = ''
pass = '-p' + db_config['password'] if db_config['password']
sh "mysqldump -u #{db_config['username']} #{pass} #{db_config['database']} -Q --add-drop-table=true --add-locks=FALSE --lock-tables=FALSE | gzip -c > #{backup_file}"
dir = Dir.new(backup_base)
all_backups = dir.entries[2..-1].sort.reverse
puts "Created backup: #{backup_file}"
max_backups = (ENV["MAX"] || 20).to_i
unwanted_backups = all_backups[max_backups..-1] || []
for unwanted_backup in unwanted_backups
FileUtils.rm_rf(File.join(backup_base, unwanted_backup))
puts "deleted #{unwanted_backup}"
end
puts "Deleted #{unwanted_backups.length} backups, #{all_backups.length - unwanted_backups.length} backups available"
end
task :restore => [:environment] do
base_path = ENV["DIR"] || "db"
backup_base = File.join(base_path, 'backup')
dir = Dir.new(backup_base)
all_backups = dir.entries[2..-1].sort.reverse
last_backup_dir = File.join(backup_base,all_backups[0])
last_backup=Dir.new(last_backup_dir).entries[2..-1]
backup= File.join(last_backup_dir,"#{RAILS_ENV}_dump.sql.gz")
if File.exist?( backup)
puts "Restore #{backup}"
db_config = ActiveRecord::Base.configurations[RAILS_ENV]
pass = ''
pass = '-p' + db_config['password'] if db_config['password']
cmd_str="gunzip < #{backup} | mysql -u #{db_config['username']} #{pass} #{db_config['database']}"
puts cmd_str
else
puts "Backup file <#{backup}> not found"
end
end
end
понедельник, 29 марта 2010 г.
rake db:backup
понедельник, 22 марта 2010 г.
Autoplay DVD with VLC
Autoplay DVD with VLC
1) Create a script using Script Editor and paste the following:
2) Compile and Save
3) Open "System Preferences..." and select "CDs & DVD's".
4) Select "Run Script" for "When you insert a video DVD".
5) Browse to where you saved your new script, select it and click "Choose".
This will automatically play DVD using VLC.
If you are using a localized non-English version just replace the "Open Disc..." and "File" accordingly.
1) Create a script using Script Editor and paste the following:
activate application "VLC"
tell application "Finder" to set frontmost of process "VLC" to true
tell application "System Events" to click menu item "Open Disc..." of menu of menu bar item "File" of menu bar of process "VLC"
tell application "System Events" to tell process "VLC"
keystroke return
end tell
tell application "VLC"
fullscreen
next
end tell
2) Compile and Save
3) Open "System Preferences..." and select "CDs & DVD's".
4) Select "Run Script" for "When you insert a video DVD".
5) Browse to where you saved your new script, select it and click "Choose".
This will automatically play DVD using VLC.
If you are using a localized non-English version just replace the "Open Disc..." and "File" accordingly.
суббота, 20 марта 2010 г.
GetBundles для TextMate
ставим для управления всеми Bundle
mkdir -p ~/Library/Application\ Support/TextMate/Bundles
cd !$
svn co http://svn.textmate.org/trunk/Review/Bundles/GetBundles.tmbundle/
osascript -e 'tell app "TextMate" to reload bundles'
четверг, 18 марта 2010 г.
Подписаться на:
Сообщения (Atom)
Шаг 1:
Правим файл /etc/apache2/httpd.conf в любом редакторе, удаляем комментарии # в строке:
и ставим коммент на
Шаг 2:
Ищем строку:
и отключаем
Шаг 3:
добавляем строки после второго шага 2:
так настраиваем перенаправление для виртуальных хостов т.е. http://foo.homelinux.net -> /Library/WebServer/Documents/foo.homelinux.net/
Шаг 4:
Сохраняем файл и рестартуем апач (отключаем веб шаринг и включаем его снова).
Ну и наконец создаем необходимые директории для виртуальных хостов например для
foo.homelinux.net и bar.homelinux.net делаем следующие директории:
заливаем в них нужные файлы и все работает
если не работает смотрим вывод команды
и правим httpd.conf
в дополнение я использую www.dyndns.org для своих хостов ( айпишник внешний но динамический)