preload
Июн 01

Есть у меня на работе роутер под FreeBSD, и есть пара десятков компьютеров с установленным NOD32. В целях экономии трафика был написан скрипт на Ruby для зеркалирования вирусных баз.

Для того, чтобы воспользоваться скриптом, нужно установить пакет unrar и склонировать репозиторий с гитхаба:

git clone git@github.com:OutPunk/nod32_mirror.git

А затем подправить настройки в файле config.rb

LOGIN, PASS = 'логин', 'пароль' #ваш ключ от NOD32
SAVE_PATH = '/путь/куда/надо/сохранять/базы'
UPDATE_VER_URL = 'http://update.eset.com/eset_upd/update.ver' # Адрес файла update.ver, менять не нужно
TEMP_DIR = '/tmp' # путь для распаковки update.ver
VER_FILE = 'ver.yml' # файл для хранения версий полученных файлов

Запускается скрипт просто:
/путь/до/скрипта/nod32_mirror/main.rb

Связанные записи


Метки:
Янв 15

Карты сайта Google очень хороши, чтобы указать гуглу, где что находится. Частенько этого хотят сеошники, или вы очень часто обновляете контент и хотите, чтобы гугл индексировал вас чаще.
Независимо от того, зачем вам нужны эти файлы, следующий код позволяет вам генерировать карты сайта для динамического сайта на Ruby.
Читать полностью »

Связанные записи


Метки:
Янв 15

Изучаю руби и рельсы. Пишу сам себе памятки. Итак, создаем rake-задание.
Для этого в директорию lib/tasks кидаем файл с расширением .rake. Для определенности пусть это будет print.rake

namespace :print do
  task :o ne do
    attention "Раз!"
  end

  task :two do
    attention "Два!"
  end

  task :three do
    attention "Три!"
  end

  task :first_user => :environment do
    puts User.find(1).first_name
  end

  task :all => [:one, :two, :three]

  def attention(msg)
    puts "Считаем: #{msg}"
  end
end

Вызывается все это так:

rake print:three
Считаем: Три!
rake print:all
Считаем: Раз!
Считаем: Два!
Считаем: Три!

Разберем подробнее:

  • Заключаем наши задания в неймспейс, потом вызываем задание как <неймспейс>:<задание>
  • Использование оператора => в объявлении задания определяет зависимости.
  • Чтобы определить множественные зависимости, используем массив(задание :all в примере выше)
  • зависимость :environment загрузит окружение Rails (задание :first_user)
  • Если задание пустое, то его не нужно заключать в блоки (задание print:all)
  • Вы можете объявлять новые методы для повторного использования кода (метод attention)

Подглядел на http://blog.stonean.com/2007/12/custom-rake-tasks.html

Связанные записи


Метки: