Medien & Phantastik > Linux/Unix

Linux-Skriptzauberei

<< < (2/3) > >>

Bombshell:
Ich glaube du solltest dir mal rsync ansehen. Das kann auch schon von Haus aus mit SSH umgehen.

Turgon:
Naja, ob man jetzt rsync aufruft oder scp ist egal.
Da die Dateien nach dem Holen sowieso gelöscht werden sollen, bringt rsync keinen Vorteil.

@Pyromancer:
Das "sort" in deiner Zeile zur Auswahl der Dateien sollte eigentlich nicht nötig sein. ls sortiert automatisch.
Wieviele Dateien erwartest du zum Kopieren pro Cronjob-Lauf?

Genion:
rsync kann mit dem Parameter --remove-source-files die Daten direkt abholen und aus dem Quellordner löschen.

Generell würde ich auch dazu raten unfertige und fertige Daten strikt voneinander zu trennen. Du legst die anfallenden Daten erstmal temporär in einen Ordner und schiebst die am Ende in das Verzeichnis, das regelmäßig zur Übertragung geprüft wird. Dann brauchst du dich nicht drum zu kümmern unfertige Dateien noch vom Transfer auszuschließen.

Befehl zum Übertragen wär dann:

--- Code: ---rsync --remove-source-files -pt "remoteuser@server:/pfad/" /lokalerpfad/
--- Ende Code ---
-p: Behält Dateiberechtigung bei (Besitzer und Gruppe ändern sich allerdings auf den gerade ausführenden Benutzer)
-t: Behält Zeitstempel bei

Nachtrag:
rsync nutzt zur Dateiübertragung ssh und kann damit auch einen SSH-Key zur Authentifizierung nutzen.

oliof:
Wer rsync mit --remove-source-files aufruft, lebt aber auch gerne gefährlich (-:. Aber wers mag.

In dem Shellskript solltest du übrigens statt `...` besser $(...) nehmen.

Turgon:

--- Zitat von: oliof am  7.05.2014 | 19:21 ---In dem Shellskript solltest du übrigens statt `...` besser $(...) nehmen.
--- Ende Zitat ---
Wenn's die Shell kann.
Aber eine halbwegs aktuelle bash kann das.

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln