Exerb - утилита от японского программиста Yuya Kato. Скачиваем, распаковываем и выполняем в командной строке setup.rb. Теперь попробуем что-нибудь упаковать в exe. Переходим в директорию Ruby-проекта, где у нас к примеру находится скрипт test.rb и выполняем в командной строке: exerb test.rb Помимо скриптов, exe-файл содержит среду Ruby, таким образом скрипт без проблем запустится в системе, где Ruby не установлен. Единственное, что не удалось при тесте Exerb - запустить приложение Ruby + Qt, но с этой задачей без проблем справилась вторая утилита - RubyScript2Exe - от Erik Veenstra. Э та утилита представляет из себя один единственный скрипт. Выполняем его в командной строке, передав в качестве аргумента название файла, который хотим упаковать в exe. RubyScript2Exe не только прекрасно справляется с упаковкой сложных проектов, но и имеет великолепную документацию .
$ rails g controller Ftp upload ../app/controllers/ftp_controller.rb require 'net/ftp' class FtpController < ApplicationController def upload ftp = Net::FTP.new('сервер') ftp.passive = true ftp.login(user = "пользователь", passwd="пароль") ftp.putbinaryfile("путь к файлу", File.basename("название файла")) ftp.quit() end end Все просто. Устанавливаем соединение с ftp-сервером и передаем путь к файлу. Но если нам неизвестен путь к файлу? Тогда все становится несколько сложнее. Для примера - добавим форму, где пользователь может выбрать файл для загрузки... ../app/views/ftp/_ftp.html.erb <% form_tag '/upload', :method => :post, :multipart => true do %> <label>Выберите файл</label><%= file_field 'upload', 'filedata' %> <%= submit_tag "Поехали!" %> <% end %> Редактируем контроллер - def upload file = params[:upload]...
Задача : а) в назначенный час запустить резервное копирование mysql-базы данных, б) переслать файл дампа по электронной почте. И, конечно, все это должно произойти без нашего участия, т.е. само по себе. Что нам понадобится: PHP 5 - для выполнения скрипта; Task Scheduler - он же "планировщик"; mysqldump - утилита для создания дампа mysql-базы данных; Swift Mailer - PHP-библиотека для работы с почтой. Резервное копирование. Для запуска mysqldump воспользуемся php-функцией exec, в которую в качестве аргумента передадим строку с параметрами вызова mysqldump (подробнее о mysqldump тут ). $q = "mysqldump -uroot -ppass database > "; $file = "d:/backup-" . date("d-m-Y") . ".sql"; exec($q . $file); Отправка дампа по электронной почте . Пересылать дамп будем через smtp.mail.ru. Дописываем в скрипте: require_once 'Swift-4.0.6/lib/swift_required.php'; $transport = Swift_SmtpTransport::newInstance('smtp.inbox.ru', 2...
Комментарии
Отправить комментарий