Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Ruby: Общие вопросы > Задача бэкапа данных


Автор: skalex 8.9.2006, 12:58
Решил использовать модуль Rake для решения задачи ежедневного бэкапа важной информации.

Написал простейший Rakefile:
Код
task :default => [:backup]

desc "Backup of data"
task :backup do
    data = {
        "Thunderbird" => "c:/Documents and Settings/some_user/Application Data/Thunderbird",
        "docs"        => "c:/Documents and Settings/some_user/My Documents/docs"
    }
    data.each { |k, v|
        cp v, k
    }
end


В консоли запускаю rake и полчаю в ответ:
Код
c:\dev\backup>rake
(in c:/dev/backup)
cp c:/Documents and Settings/some_user/Application Data/Thunderbird Thunderbird
rake aborted!
Permission denied - c:/Documents and Settings/some_user/Application Data/Thunderbird
c:/dev/backup/rakefile:10
(See full trace by running task with --trace)


Как решить проблему c Permission denied?

Автор: JackSparrow 11.9.2006, 10:35
может это из за того что в путях вместо двух слэшей стоит один, я както раз тоже так написал в одной программке - не работает, заменил / на // и все заработало

Автор: skalex 11.9.2006, 12:33
Я пробовал все возможные комбинации со слешами. Не помогает ...

Автор: skalex 11.9.2006, 12:54
В общем разобрался ... Метод http://www.ruby-doc.org/stdlib/libdoc/fileutils/rdoc/classes/FileUtils.html#M000408 предназначен для копирования файлов. Для директорий же существует метод http://www.ruby-doc.org/stdlib/libdoc/fileutils/rdoc/classes/FileUtils.html#M000410.
Вопрос решен, всем спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)