NOC online · 24/7Longview, TX · +1 323 412 0665
KinetikatechServers · Security · Websites
EL

Εντολές Linux

wget: Το πρόγραμμα λήψης που δεν κοιμάται ποτέ

Το wget είναι curl για εργασίες που μετρώνται σε ώρες: καθρέφτες, αρχειοθήκες, αναδρομικές έλξεις και παρτίδες cron που εκτελούνται ενώ κανείς δεν παρακολουθεί. Επανέρχεται, τιμά το robots.txt, συνεχίζει τις μεταφορές που έχουν διακοπεί από προεπιλογή και βηματοδοτεί τα όρια ρυθμών και τα διαστήματα αναμονής, κάτι που είναι μια ευγένεια που αφήνει στον καλούντα. Ανάμεσα στα δύο εργαλεία το τμήμα είναι καθαρό: wget για όγκο και υπομονή, μπούκλα για ακρίβεια και μια ομάδα που γνωρίζει και τα δύο σπάνια χρειάζεται τρίτο εγκαταστάτη.

Βασικά σημεία

  • Ο κατοπτρισμός είναι μία γραμμή: wget --mirror --convert-links --adjust-extension --no-parent https://docs.example.com; παράλειψη --χωρίς γονέα και ένα αρχείο τεκμηρίωσης γίνεται αθόρυβα μια ανίχνευση όλων όσων βρίσκονται πάνω από αυτό.
  • Συνεχίστε και δοκιμάστε ξανά δωρεάν: το wget -c επιλέγει ένα αντίγραφο ασφαλείας μιας διακοπείσας μεταφοράς και --tries=10 --waitretry=5 εκτελεί τους διακομιστές που κάνουν λόξυγγα στο μέσο όγκο αντί να αποτύχουν την εργασία με την πρώτη σύσπαση.
  • Η ευγένεια έχει σημαίες: --limit-rate=200k, --wait=1 και --random-wait κρατήστε έναν καθρέφτη από την ενεργοποίηση των ανοδικών ορίων ρυθμού ή μιας ρήτρας κατάχρησης κοινόχρηστου διακομιστή. Η κοινόχρηστη φιλοξενία καθώς και ένας ανεξέλεγκτος ανιχνευτής είναι μια σύντομη φιλία.
  • Το robots.txt τηρείται από προεπιλογή. Το -e robots=off το παρακάμπτει εσκεμμένα, και η χρήση αυτής της παράκαμψης έναντι του ιστότοπου παραγωγής κάποιου άλλου είναι ο τρόπος με τον οποίο οι μαζικές λήψεις μετατρέπονται σε εισιτήρια συμβάντων.
  • Το wget -O /dev/null -nv https://host/health είναι ένας ανιχνευτής παρακολούθησης μιας γραμμής του οποίου οι κωδικοί εξόδου φέρουν τη διάγνωση: το 4 είναι μια αποτυχία δικτύου, το 8 είναι ένα σφάλμα διακομιστή και και τα δύο χτυπούν ένα αθόρυβο cron.
  • Η μετατροπή μετράει εκ των υστέρων: -- το convert-links ξαναγράφει έναν κατοπτρισμένο ιστότοπο για πλοήγηση εκτός σύνδεσης και το --adjust-extension αποθηκεύει σελίδες που δημιουργούνται από το CMS κάτω από επεκτάσεις που μπορούν να εξυπηρετήσουν τα τοπικά εργαλεία.
  • Οι μαζικές εργασίες στο cron παίρνουν αρχεία κλειδώματος ή επικαλυπτόμενες εκτελέσεις γράφουν η μία στα μισοτελειωμένα αρχεία της άλλης ενώ η --waitretry τεντώνει ήσυχα την εργασία πέρα ​​από το παράθυρό της. Το wget δεν έχει εσωτερικό mutex.
  • Γνωρίστε το όριο: οι φόρμες, οι περίοδοι σύνδεσης με cookie και τα τελικά σημεία API ανήκουν στο curl και οι σελίδες που έχουν δημιουργηθεί με JavaScript αντικατοπτρίζονται ως κενά κελύφη επειδή το wget ακολουθεί συνδέσμους και όχι σενάρια.

Σημείωση από το πεδίο

Ένας καθρέφτης χωρίς --no-parent περιπλανήθηκε σε σαράντα gigabyte της βιβλιοθήκης πολυμέσων ενός πελάτη κατά τη διάρκεια της νύχτας και σχεδόν γέμισε το δίσκο. Οι σημαίες ευγένειας τοποθετούνται μία φορά και αντιγράφονται για πάντα μετά.

Συχνές ερωτήσεις

Γιατί ο καθρέφτης μου περιέχει μόνο μία σελίδα;

Οι σημαίες εμβέλειας έκαναν τη δουλειά που ήθελε να αναιρέσει κάποιος: περιορισμοί robots.txt, --χωρίς γονέα, όριο βάθους ή ο ιστότοπος που αποδόθηκε με JavaScript. Το wget ακολουθεί συνδέσμους που μπορεί να δει. ελέγξτε -o wget.log πριν κατηγορήσετε το εργαλείο.

Πότε πρέπει να επιλέξω το wget over curl για μία μόνο λήψη;

Για οτιδήποτε μπορεί να επαναληφθεί ή είναι αξιόπιστο: -c συνέχεια, ενσωματωμένες επαναλήψεις και timestamping (--timestamping) κάνουν το wget την επιλογή περιορισμένης προσοχής. Το curl σου δίνει το ίδιο μόνο αν το συναρμολογήσεις μόνος σου.

Είναι νόμιμο ή ευγενικό να αντικατοπτρίζεις έναν δημόσιο ιστότοπο;

Η ιδιοκτησία αποφασίζει για το νόμιμο, το robots.txt και το load αποφασίζουν ευγενικά: τιμήστε το αρχείο του ρομπότ, ρυθμίστε το γκάζι σε ποσοστό ανθρώπινου ρυθμού και προτιμήστε μια επίσημη εξαγωγή ή API τη στιγμή που ο στόχος το προσφέρει.

Γιατί ορισμένοι ιστότοποι επιστρέφουν το 403 σε απλό wget;

Φιλτράρισμα παράγοντα χρήστη, συνήθως σκόπιμη. --user-agent='Mozilla/5.0' σας καθοδηγεί, αλλά ένα φιλτραρισμένο 403 σημαίνει επίσης ότι ο χειριστής παρακολουθεί, επομένως ένας διάλογος ή ένα API είναι το καλύτερο επόμενο βήμα.

Πώς βοηθάει η Kinetikatech στα εντολές linux

Η πρότασή μας είναι απλή: Οι εντολές και οι συνήθειες δέσμης ενεργειών που αποφασίζουν εάν ένας διαχειριστής χειρίζεται έναν διακομιστή ή τον καταπολεμά: αναζήτηση, μετατροπή, μεταφορά και επίβλεψη κειμένου και διεργασιών με τα εργαλεία που υπάρχουν σε κάθε βασική εγκατάσταση. Αναλάβτε την υπηρεσία μας Ασφάλεια διακομιστών Linux and Διαχείριση διακομιστών και έχει αξιολογηθεί σωστά, εφαρμοστεί καθαρά και παρακολουθείται όλο το 24ωρο.

Μιλήστε με έναν μηχανικό

Πρόβλημα διακομιστή; Εισβολή στον ιστότοπο; Αργός ιστότοπος;

Απάντηση σε κρίσιμα ζητήματα εντός 30 λεπτών — 24 ώρες την ημέρα, 7 ημέρες την εβδομάδα.

Ζήτηστε επείγουσα υποστήριξη support@kinetikatech.com