Ich versuche, eine Gruppe von Dateien in einem bestimmten Zeitraum von einem Remote-Server (Server B) mit einem Skript auf einem lokalen Server (Server A) ausgeführt kopieren. Ich verwende die Option -newermt in Find, um meinen Zeitbereich anzugeben. Also, wenn ich auf dem Remote-Server (Server B) ssh dies funktioniert:übergeben Variable über ssh für -newermt Option zu finden
find /appl/backup/monsters/green/y.y.y.y/2016-04-26_08-00-01/jelly/ -newermt "2016-04-26 07:40:00" \! -newermt "2016-04-26 07:50:00"
Und ich bekomme die Liste der Dateien für die angegebenen Zeiten.
jedoch Wenn ich versuche, die vom lokalen Server (Server A) via ssh auf involke:
#!/bin/bash
#
CLUSTER="green"
node="x.x.x.x"
STIME="2016-04-26_08-00-01"
#T1=1461678000
#T2=1461678600
T1="2016-04-26 07:40:00"
T2="2016-04-26 07:50:00"
ssh [email protected] find /appl/backup/monsters/${CLUSTER}/${node}/${STIME}/jelly/ -newermt "$T1" \\! -newermt "$T2"
echo $latest_file
echo SCP Completed.
exit
Das gibt mir einen Fund Fehler:
Fund: Wegen Ausdruck vorangestellt werden muss: 07: 40:00
so scheint es, dass mit dieser Methode findet nicht den Raum mag in „2016.04.26 07.40.00“
versuchte ich zu unixtimestamps Umwandlung zu vermeiden, verwenden Tempo aber finden diejenigen nicht mag:
Fund: Ich kann nicht herausfinden, wie man als Datum oder Uhrzeit
Meine Frage `1461678000' interpretieren ist kann ich das Leerzeichen für diese oder geschweiften Klammern zu begrenzen haben, Ich probiere ein paar Dinge aus, aber ich fummle herum: -/jede Hilfe wird geschätzt.
Danke!
Sie brauchen die Anführungszeichen, die vom * remote * -Server angezeigt werden, nicht vom lokalen. Zitieren Sie den Befehl * full in doppelten Anführungszeichen und verwenden Sie einfache Anführungszeichen, an denen Sie derzeit doppelte Anführungszeichen haben. –
Das war's, vielen Dank! –