Если жесткий диск даже распознан компьютером, у меня было большое использование удачи Профессионал EasyRecovery. Я смог восстановить 100% данных по двум из тех ужасная IBM Deskstars, которая возвратила несколько лет к состоянию до сбоя.
У меня когда-то был случай, где я смог использовать прием морозильника, чтобы заставить диск быть распознанным, использовал SpinRite для фиксации данных и Профессионала EasyRecovery для копирования его. Требовалось много времени для восстановления, потому что, после того как диск достиг комнатной температуры, это прекратит показывать до компьютера. Я рассмотрел выполнение его, в то время как в морозильнике, но никогда не получал это отчаянное, так как данные не были высоким приоритетом.
Существует три пути.
module Puppet::Parser::Functions newfunction(:getconf, :type => :rvalue, :doc => 2010-09-29 The getconf function takes a single argument, the name of a configuration setting and returns the value of that setting. It is similar to the --configprint command line argument to return configuration settings except it exposes this information to the language. END_HEREDOC do |args| if args.length != 1 then raise Puppet::ParseError, ("ERROR: getconf() takes only one argument") end Puppet[args[0]] end # do |args| end # module # EOF
Поместите это в файл, названный 'getconf.rb' в libdir Вашего марионеточного сервера (/var/puppet/lib/puppet/parser/functions/getconf.rb
) и доступ это из декларации как
# somemanifest.pp
$myvar = getconf("ssldir")
notify {"set ssldir to ${myvar}":}
2. В Марионеточных 2.6 это еще легче, поскольку целая установка настроек доступна как ${settings::somevar}
, таким образом, декларация просто:
# 26manifest.pp
$myvar = $settings::ssldir
notify {"set ssldir to $myvar":}
3. В марионеточных 0.25 можно использовать встроенный шаблон:
# 25manifest.pp
$myvar = inline_template("<%= Puppet.settings[:ssldir] %>")
notify {"set ssldir to ${myvar}":}
Методы 2 и 3 благодаря этому потоку на марионеточных пользователях