Frage Wget: Gibt es eine Möglichkeit, den Benutzernamen und das Passwort einer Datei zu übergeben?


Gibt es eine Möglichkeit, den Benutzernamen und das Passwort 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


21
2018-05-08 12:58


Ursprung




Antworten:


Verwenden ein .wgetrc Datei (GNU-Handbuch) in dem Sie Benutzername und Passwörter für ftp und http oder beides festlegen können.

So verwenden Sie dieselben Anmeldeinformationen für beide

user=casper
password=CasperPassword

oder einzeln

ftp_user=casperftp
ftp_password=casperftppass
http_user=casperhttp
http_password=casperhttppass

13
2018-05-08 13:08



Die GNU wget Handbuch schlägt auch vor, den -i Option und Eingabe des Benutzernamens und des Passworts aus der Standardeingabe. - Richard
Tut .wgetrc Bietet 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 - ryenus
Ich vermisse natürlich wget mit einem .netrc Datei, aber es ist dokumentiert. - Mike Renfro


Ich bin überrascht, dass niemand das erwähnt hat .netrc Datei. Erstellen Sie zuerst die Datei, wenn sie nicht existiert, und legen Sie sichere Berechtigungen fest:

touch ~/.netrc
chmod 600 ~/.netrc

Dann können Sie den Hostnamen, den Benutzernamen und das Passwort in einer Zeile hinzufügen:

echo 'machine example.com login casper password CasperPassword' >> ~/.netrc

Dann wenn du es tust wget https://example.com und der Server antwortet mit 401 Authorization Required, versucht wget mit dem Benutzernamen und dem Passwort von ~/.netrc Datei.

Wenn Sie dieses von Cron verwenden, stellen Sie sicher, dass Sie das Recht haben HOME Verzeichnis. Oft Cron-Sets HOME=/ (In diesem Fall müssten Sie die Datei als erstellen /.netrc, aber es ist besser, ein richtiges zu setzen HOME am Anfang deines Skripts, wie export HOME=/root).

Sie können mehrere Hosts angeben ~/.netrc, eine pro Zeile. Mehr Infos in man netrc.


15
2018-02-26 10:34



Für die Syntax von .netrc, seht ihr Handbuchoder das verwandte Locke doc. - ryenus


In vielerlei Hinsicht kann Curl eine bessere Wahl sein. Wget wurde im Laufe der Zeit etwas altbacken.

Curl's -n Schalter kann für diese Aufgabe verwendet werden:   http://curl.haxx.se/docs/manpage.html#-n


0
2018-05-08 15:40