
Ich scp
führe in einem Skript eine -Anweisung für einige Dateien von einem Remote-Host aus. Ich möchte wissen, ob etwas fehlschlägt, am häufigsten aufgrund von Berechtigungsproblemen. Die zu kopierenden Dateien gehören einem anderen Benutzer und manchmal wird das Skript zum Ändern der Dateiberechtigungen nicht ausgeführt. Einer der zu kopierenden Dateisätze ist ein Glob, der möglicherweise leer ist. Daher enthält das Skript derzeit eine Zeile, die wie folgt aussieht scp -p remote:*.pattern curdir
. Bei allen anderen Kopierbefehlen überprüfe ich einfach den Rückgabecode, aber das funktioniert hier nicht, da der Glob möglicherweise einfach leer ist. Was ist die beste Möglichkeit zu überprüfen, ob der SCP einen Rückgabecode ungleich Null hat, nur weil es keine Dateien gibt, die dem Glob entsprechen, und nicht aufgrund anderer Probleme wie ungültiger Berechtigungen für das übergeordnete Verzeichnis oder die Dateien selbst?
Antwort1
Ist die Verwendung von SSH zum Anzeigen einer Dateiliste auf dem Remote-Host eine mögliche Lösung:
ssh remote "find ./ -type f -name '*.pattern'"
Sie können dann die lokale Dateiliste mit der Remote-Dateiliste vergleichen, indem Sie diff
beispielsweise oder wc -l
für die Zeilenanzahl verwenden.