Die Automatisierung von sftp mit IBM AIX(UNIX) shell-Skript
Ich bin versucht, zu automatisieren, meine SFTP-Befehl über ein UNIX-shell-Skript, aber aus irgendeinem Grund funktioniert es nicht. Hier ist mein code, wie unten beschrieben. Bitte teilen Sie Ihre Gedanken/Erkenntnisse.
#This ftp script will copy all the files from source directory into the local directory.
#!/bin/sh
HOST='sftp.xyz.com'
USER='ABC'
PASSWORD='123'
SRC_DIR='From_Src'
TRGT_DIR='/work/'
FILE='abc.txt'
sftp -u ${USER},${PASSWORD} sftp://${HOST} <<EOF
cd $SRC_DIR
lcd $TRGT_DIR
get $FILE
bye
EOF
echo "DONE"
Wenn ich versuche ausführen des oben aufgeführte Codes, bekomme ich die folgende Fehlermeldung.
sftp: illegal option -- u
usage: sftp [-1246Cpqrv] [-B buffer_size] [-b batchfile] [-c cipher]
[-D sftp_server_path] [-F ssh_config] [-i identity_file] [-l limit]
[-o ssh_option] [-P port] [-R num_requests] [-S program]
[-s subsystem | sftp_server] host
sftp [user@]host[:file ...]
sftp [user@]host[:dir[/]]
sftp -b batchfile [user@]host
- Definiere bitte "funktioniert nicht". Was ist das erwartete Verhalten? Was passiert stattdessen?
- Hinzugefügt wurde die exception die ich erhalte.
- Sie haben
expect
oder berücksichtigen Sie auch andere Optionen? - Ich bin gut mit anderen Optionen, wie gut anubhav...
- Hi Anubhav... viel Glück... ich bin immer noch nicht mit diesem problem.. 🙁
- Bitte nicht Bearbeiten Sie Ihre Frage, um es komplett anders. Die Leute haben sich Zeit genommen, Ihre arbeitsreiche Tage, um zu versuchen, um Ihnen zu helfen, und Sie machen, dass eine Verschwendung, wenn Sie sich verändern, die Frage zu stellen deren Antworten irrelevant. Wenn Sie eine neue Frage, stellen Sie eine neue Frage.
- Sorry... ich nicht wiederholen Sie es wieder..
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es keine
-u
option fürsftp
finden Sie in der Handbuch für verfügbare Optionen. Übergeben Sie den Benutzernamen in folgendem format:Also in deinem Fall:
Dadurch werden Sie aufgefordert, das Passwort aber. Wenn Sie nicht möchten, dass ein Passwort, nehmen Sie einen Blick auf dieses Thema: Wie Sie den sftp-Befehl mit einem Passwort von Bash-Skript?
expect
oderlftp
.apt-get install lftp
oderyum install lftp
.Zunächst lernen, wie man set up-Tasten, so dass Sie von ssh, scp und sftp auf einen server ohne Passwort. Schauen Sie ssh-keygen. Es ist ziemlich einfach. Ich Wette, es gibt wie tos auf dieser Seite. In kurzen, erstellen Sie Ihre Schlüssel mittels ssh-keygen. Sie erstellt in ~/.ssh. Dann fügen Sie Ihren öffentlichen Schlüssel ~/.ssh/authorized_keys auf dem Ziel-host wo ~ ist das home-Verzeichnis des Benutzers, den Sie möchten, melden Sie sich als. d.h. "ABC" in deinem Beispiel.
Nun, können Sie nur "sftp [email protected]" und Sie werden auf die sftp-prompt auf sftp.xyz.com. Von dort aus, bekommen Sie Ihr Skript sollte leicht sein.
Mein echter Vorschlag ist blow off sftp und scp. z.B.
Seine so einfach. Keine "cd" und anderen Substanzen zu beschäftigen. Sie machen auf diese Weise schwieriger, als es wirklich ist.
Glück