Gibt es eine Möglichkeit, den Benutzernamen und das Kennwort aus einer Datei anstelle der Befehlszeile über --user und --password zu übergeben?
Hintergrund: Ich möchte wget über cron ausführen und möchte nicht, dass der Benutzername / das Passwort in der Prozessansicht angezeigt wird
password
wget
credentials
user-accounts
Kasper
quelle
quelle
-i
Option zu verwenden und den Benutzernamen und das Passwort von der Standardeingabe einzugeben..wgetrc
es die Flexibilität, mit mehr als einem Server zu arbeiten? Wenn nicht,.netrc
ist eine bessere Lösung, siehe die andere Antwort von tobias.pal.netrc
Datei verpasst , aber es ist dokumentiert .Ich bin überrascht, dass niemand die
.netrc
Akte erwähnt hat. Erstellen Sie zuerst die Datei, falls sie nicht vorhanden ist, und legen Sie die sicheren Berechtigungen fest:Dann können Sie den Hostnamen, den Benutzernamen und das Passwort in einer Zeile hinzufügen:
Wenn Sie dies tun
wget https://example.com
und der Server antwortet mit,401 Authorization Required
versucht wget es erneut mit dem Benutzernamen und dem Kennwort aus der~/.netrc
Datei.Wenn Sie dies von cron aus benutzen, vergewissern Sie sich, dass Sie das richtige
HOME
Verzeichnis haben. Häufig Cron-SetsHOME=/
(in diesem Fall müssten Sie die Datei als erstellen/.netrc
, aber es ist besser,HOME
am Anfang Ihres Skripts ein richtiges wie festzulegenexport HOME=/root
).Sie können mehrere Hosts in angeben
~/.netrc
, einen pro Zeile. Mehr Infos inman netrc
.quelle
.netrc
finden Sie im zugehörigen Handbuch oder im zugehörigen Curl-Dokument .man netrc
im OP zu sehen und frage mich, WARUM das funktioniert, dann rettet mich @ryenus dein Kommentar, danke ~ Handbuch ist immer willkommen: P Dann weiß ich, dass es eine rc-Datei ist, die von verwendet wirdftp
, das heißt, es kann funktioniert nicht für http. Ich werde es später auf http versuchen.In vielerlei Hinsicht kann Curl eine bessere Wahl sein. Wget wurde mit der Zeit etwas abgestanden.
Der Schalter -n von curl kann für diese Aufgabe verwendet werden: http://curl.haxx.se/docs/manpage.html#-n
quelle