Très probablement vous avez besoin entre parenthèses pour la méthode Dir.glob
, il prend juste le premier argument étant passé, et le reste, est considéré comme un argument FileUtils.cp_r
, essayez avec:
FileUtils.cp_r(
Dir.glob(
"#{node['default']['home']}/standalone/deployments/'*.ear'",
"#{node['default']['default_backup_path']}/oms_bkp_#{time}"
),
'destination/',
noop: true,
verbose: true
)
Vous passez deux patterns
argument à la méthode glob
, c'est la raison de l'erreur:
no implicit conversion of String into Integer (TypeError)
Essayez d'utiliser simplement cp_r
pour chaque motif, comme:
FileUtils.cp_r(
Dir.glob("#{node['default']['home']}/standalone/deployments/'*.ear'"),
'destination/',
noop: true,
verbose: true
)
FileUtils.cp_r(
Dir.glob("#{node['default']['default_backup_path']}/oms_bkp_#{time}"),
'destination/',
noop: true,
verbose: true
)
Je pense que votre objectif est de itérer obtenir les éléments dans
"#{node['default']['home']}/standalone/deployments/'*.ear'"
"#{node['default']['default_backup_path']}/oms_bkp_#{time}"
de sorte que vous pourrait itérer sur ces deux répertoires, et utiliser ce modèle dans t il Dir.glob
méthode, comme:
patterns = [
"#{node['default']['home']}/standalone/deployments/'*.ear'",
"#{node['default']['default_backup_path']}/oms_bkp_#{time}"
]
patterns.each do |pattern|
FileUtils.cp_r Dir.glob(pattern), 'destination/', noop: true, verbose: true
end
Où 'destination/'
est le dossier dans lequel les éléments seront copiés, que vous êtes absent.
Ou dans le cas où vous souhaitez utiliser le dossier default_backup_path
comme destination, vous n'avez pas besoin de la méthode Dir.glob
, ajoutez simplement comme paramètre dest
, en tant que chaîne
FileUtils.cp_r(
Dir.glob("#{node['default']['home']}/standalone/deployments/'*.ear'"),
"#{node['default']['default_backup_path']}/oms_bkp_#{time}",
noop: true,
verbose: true
)
Merci pour vos conseils . J'ai essayé ceci et son me donnant une erreur disant "avait une erreur: TypeError: aucune conversion implicite de la chaîne en entier" – kkrrss
Ainsi, l'erreur a changé, ne vous indique-t-elle pas à quelle ligne donne l'erreur? –
Oui. mais c'est le même numéro de ligne. Je suis nouveau à Ruby ici. si peu de lutte avec ça. – kkrrss