Czy istnieje sposób na przekazanie nazwy użytkownika i hasła z pliku zamiast wiersza poleceń przez --user i --password?
Tło: Chcę uruchomić wget za pośrednictwem crona i nie chcę, aby nazwa użytkownika / hasło były wyświetlane w widoku procesu
password
wget
credentials
user-accounts
Casper
źródło
źródło
-i
opcji i podanie nazwy użytkownika i hasła ze standardowego wejścia..wgetrc
zapewnia elastyczność pracy z więcej niż jednym serwerem? Jeśli nie,.netrc
to lepsze rozwiązanie, zobacz inną odpowiedź z tobias.pal.netrc
pliku, ale jest to udokumentowane .Dziwię się, że nikt nie wspomniał o
.netrc
pliku. Najpierw utwórz plik, jeśli nie istnieje i ustaw bezpieczne uprawnienia:Następnie możesz dodać nazwę hosta, nazwę użytkownika i hasło, wszystkie w jednym wierszu:
Następnie, gdy to zrobisz,
wget https://example.com
a serwer odpowie401 Authorization Required
, wget spróbuje ponownie z nazwą użytkownika i hasłem z~/.netrc
pliku.Korzystając z tego z crona upewnij się, że masz właściwy
HOME
katalog. Często zestawy cronHOME=/
(w takim przypadku musisz utworzyć plik jako/.netrc
, ale lepiej jest ustawić odpowiedniHOME
na początku skryptu, na przykładexport HOME=/root
).Możesz podać wiele hostów
~/.netrc
, po jednym w wierszu. Więcej informacji wman netrc
.źródło
.netrc
zapoznać się ze składnią , zobacz jego instrukcję lub powiązany dokument curl .man netrc
w OP, zastanawiam się, DLACZEGO to działa, a następnie @ryenus twój komentarz mnie ocala, dzięki ~ Instrukcja jest zawsze mile widziana: P W takim razie wiem, że jest to plik rc używany przezftp
, to znaczy, że może nie działa dla http. Spróbuję później na http.Pod wieloma względami loki mogą być lepszym wyborem. Wget z czasem trochę się zestarzał.
Do tego zadania można użyć przełącznika -l curl: http://curl.haxx.se/docs/manpage.html#-n
źródło