Hallo zusammen,
trotz gründlicher Recherche (ich mach damit schon 5-6 h rum) habe ich ein Problem mit Dir.Entries, das ich nicht lösen kann... Hoffe, es weiss jemand Rat...
Ich erstelle ein Backup-Skript und an einem gewissen Punkt möchte ich alle Ordner, die innerhalb meines Ordners "Backup" auf dem Server sind, abfragen. Hintergrund ist, dass immer nur eine bestimmte Anzahl von Backups auf dem Server bleibt, und die älteste Sicherung bei der Erstellung eines neuen Backups gelöscht wird.
Mein Vorgehen sieht wie folgt aus: Den kompletten Ordnerinhalt in ein Array packen. Danach die Einträge ".", ".." und "mails" aus dem Array löschen. Danach die Einträge nach Datum sortieren. Anschließend prüfen, ob Backup-Grenze erreicht ist, wenn ja, ältestes Backup löschen nachdem das neue Backup erstellt wurde.
Nun habe ich bereits am Anfang Probleme, den Ordnerinhalt ins Array zu packen. Mein Code sieht wie folgt aus...
1 2 3 4
|
sftp.dir.entries("/home/#{SSH_USER}/#{BACKUP_ROOT}").each do |filename| backup_list.push(filename) end puts backup_list
|
Der Terminal meines Macs gibt mir aber nur folgendes aus:
#<Net::SFTP::Protocol::V01::Name:0x10a204530>
#<Net::SFTP::Protocol::V01::Name:0x10a203c70>
#<Net::SFTP::Protocol::V01::Name:0x10a2034f0>
#<Net::SFTP::Protocol::V01::Name:0x10a202d70>
#<Net::SFTP::Protocol::V01::Name:0x10a2025f0>
Das Array kann befüllt werden, es sind jedoch keine Ordnernamen drin, sondern nur ich denke mal die Adressen... Weiss jemand wie ich mein Problem lösen kann??
BTW: Hat jemand für mein Vorhaben eine elegantere Lösung? Kann ich vielleicht mehrere Schritte durch Ruby zusammenfassen?!
Fragen über Fragen eines Ruby-Neulings, der bisher mit Java und Objective-C das Vergnügen hatte...
Vielen Dank schon mal für Antworten und Vorschläge!!