Έχουμε ήδη δει πώς να συνδεθείτε σε έναν διακομιστή FTP και να εργαστείτε με αυτόν (ή το περιεχόμενό του) μέσω του τερματικού, δηλαδή χωρίς τη χρήση γραφικών εφαρμογών.
Αυτή τη φορά σας φέρνω ένα συν ή ένα επιπλέον ... επιτρέψτε μου να το εξηγήσω.
Πριν από μερικά χρόνια τα άφησα ένα σενάριο bash που χρησιμοποιείται για τη δημιουργία αντιγράφων ασφαλείας (αποθηκεύει) δεδομένα από διακομιστή. Το σενάριο αντιγράφει μια σειρά φακέλων (όπως / etc /), εξάγει βάσεις δεδομένων, κλπ ... και το συμπιέζει με έναν κωδικό πρόσβασης σε ένα αρχείο .RAR ή .7z (επί του παρόντος χρησιμοποιώ 7z), το μόνο πράγμα που λείπει το σενάριο ήταν να είναι σε θέση να ανεβάσετε μετά από αυτό το συμπιεσμένο αρχείο σε κάποιο διακομιστή FTP, με αυτόν τον τρόπο η αποθήκευση από τον διακομιστή θα αντιγραφόταν σε άλλη τοποθεσία.
Αυτές τις μέρες πήρα το σενάριο για να το βελτιστοποιήσω λίγο, να το βελτιώσω και προφανώς η ανάγκη για το τελευταίο πράγμα που σας ανέφερα ήρθε στο φως, ανεβάζοντας το συμπιεσμένο αρχείο σε ένα εξωτερικό FTP.
Πώς να ανεβάσετε σε ένα FTP με μία εντολή;
Αυτό που χρειαζόμουν ήταν μέσω μίας μόνο εντολής για σύνδεση σε ένα FTP με όνομα χρήστη και κωδικό πρόσβασης, και καλά. ανεβάστε το αρχείο σε συγκεκριμένο φάκελο.
Τερματικές εφαρμογές που μου επιτρέπουν να συνδεθώ σε ένα FTP, να βάλω χρήστη και κωδικό πρόσβασης και να ανεβάσω αρχεία υπάρχουν πολλά, αλλά… που μου επιτρέπουν να το κάνω όλα σε μία γραμμή, με όλες τις παραμέτρους που έχουν ήδη καθοριστεί…. εκεί το ερώτημα.
Μετά την κριτική 4 ή 5… Σκέφτηκα, ε! ... αλλά υπάρχει μπούκλα
Ανεβάστε σε FTP με μπούκλα
Με μπούκλα μπορώ να κάνω έναν άπειρο αριθμό πραγμάτων, ίσως μπορώ να κάνω ό, τι θέλω… και αυτό είναι!
Με την παράμετρο -u μπορώ να καθορίσω το όνομα χρήστη και τον κωδικό πρόσβασης, επίσης με την παράμετρο -T μπορώ να το πω να ανεβάσει ένα αρχείο και τέλος να το πω σε ποιο FTP και σε ποιον φάκελο θέλω να το ανεβάσω, στο τέλος απλά έβαλα την πλήρη διαδρομή, λίγο πολύ σαν αυτό :
curl -u usuario:password -T archivo-backup.7z ftp://192.168.128.2/SERVER_BACKUPS/
Αυτό που κάνει είναι να συνδεθείτε στο FTP 192.168.128.2, με τον χρήστη χρήστη και κωδικό πρόσβασης κωδικό πρόσβασης και ανεβάστε στο φάκελο SERVER_BACKUPS το αρχείο με το όνομα δημιουργία αντιγράφων ασφαλείας.7z
Και έτοιμος!
Απλό, σωστά; ...
Φυσικά, αυτό μπορεί να είναι χρήσιμο για εμάς και μόνο η εντολή, ωστόσο, ο καλύτερος τρόπος για να το χρησιμοποιήσετε είναι με ένα σενάριο όπως ... αυτό που ανέφερα προηγουμένως
Και τι γίνεται με αυτό το σενάριο που αναφέρεται;
Πραγματοποιώ βελτιώσεις στο σενάριο, ενσωματώνοντας ειδικά ορισμένα αιτήματα ή προτάσεις από χρήστες.
- Το πρώτο πράγμα που ήθελα να κάνω ήταν ακριβώς αυτό που μόλις σας εξήγησα, με μία μόνο εντολή να μπορώ να ανεβάσω το αρχείο αποθήκευσης σε ένα FTP.
- Το άλλο πράγμα που με πρότεινε ένας χρήστης ήταν να στείλω ένα email όταν το αντίγραφο ασφαλείας ήταν έτοιμο, για αυτό μπορώ να χρησιμοποιήσω sendmail ή ένα εξωτερικό σενάριο, Θα χρησιμοποιήσω κατά προτίμηση sendmail. Η λεπτομέρεια της χρήσης sendmail είναι ότι μπορείτε να χρησιμοποιήσετε τον λογαριασμό σας GMail (ή οποιονδήποτε άλλο) για να στείλετε το email, με κρυπτογράφηση ... SSL και οτιδήποτε άλλο.
- Επίσης, ένας χρήστης πρότεινε επίσης, ως πιο δυναμική μορφή ειδοποίησης, να αποστέλλεται ένα μήνυμα από το IM χρησιμοποιώντας το XMPP του GTalk ή το Hotmail (Live ή κάτι τέτοιο, δεν ξέρω καν τι λέγεται). Θα προσπαθήσω να το κάνω πρώτα με το GTalk, γιατί για το Hotmail θα πρέπει να θυμάμαι ή να υποστηρίζω τον εαυτό μου κάπου για να δημιουργήσω έναν λογαριασμό Hotmail, γιατί με τόση αλλαγή-αλλαγή που έχει η Microsoft, δεν έχει ιδέα πώς είναι.
- Μια άλλη παραλλαγή του τελευταίου θα ήταν η χρήση ειδοποιήσεων ή μηνυμάτων που αποστέλλονται από το Facebook ή το Twitter. Για το Twitter θα μπορούσατε να χρησιμοποιήσετε Twidge ενώ για το Facebook θα μπορούσατε να χρησιμοποιήσετε fbcmd. Και οι δύο εφαρμογές μου επιτρέπουν να αλληλεπιδρά με αυτά τα κοινωνικά δίκτυα από το τερματικό.
- Σκέφτομαι επίσης να ελέγξω την ακεραιότητα του sql που εξάγω, αλλά αυτό απαιτεί ήδη λίγο περισσότερο χρόνο :)
Το τέλος!
Λοιπόν, τίποτα άλλο να προσθέσω ... προς το παρόν, παίρνω πολλά από τα σενάρια μου που έχουν φτιαχτεί στο Bash για να τα βελτιστοποιήσω και να τα βελτιώσω, ελπίζω ότι δεν θα πάρει πολύ χρόνο για να φέρει νέα news
αφορά
Υπέροχο έργο,
Θα το ακολουθήσω με μεγάλο ενδιαφέρον.
- Οποιαδήποτε ειδοποίηση @ εάν ο διακομιστής είναι εκτός λειτουργίας ή δεν ήταν δυνατή η παράδοση;
Εξαιρετικά ευχάριστο να διαβάσετε άρθρα από τους λάτρεις του τερματικού / της κονσόλας.
1σαλου2
Η ευχαρίστηση είναι δική μου 🙂
Καλή ιδέα, για να επαληθεύσετε εάν ο διακομιστής FTP είναι συνδεδεμένος και εάν δεν είναι, για να στείλετε ένα email ... Θα το λάβω υπόψη ^ _ ^
Είχα προσαρμόσει το αντίγραφο ασφαλείας σας και προσαρμόστηκα ένα έργο που σας επιτρέπει να ανεβάσετε το τελικό αρχείο στο Dropbox (https://github.com/andreafabrizi/Dropbox-Uploader) και στείλτε ένα email στο τέλος με sendmail.
Γκάρα πρέπει να δοκιμάσετε το σωστό εργαλείο για αυτό: lftp
Υποστηρίζει ακόμη και mirroring, ο συγχρονισμός repos από το ftp είναι ανεκτίμητος.
http://www.cyberciti.biz/faq/lftp-mirror-example/
Πολύ ενδιαφέρον, είναι η ομορφιά αυτού του συστήματος, μπορείτε να επιτύχετε το ίδιο αποτέλεσμα με πολλούς τρόπους. Σας δείχνω τη μέθοδο με την οποία κατάφερα να ανεβάσω αρχεία σε έναν διακομιστή ftp, είναι λίγο ρουστίκ, αλλά εξακολουθεί να λειτουργεί:
{
κωδικός πρόσβασης χρήστη χρήστη echo
κάδος echo
προτροπή ηχούς
echo cd / κατάλογος / από / διακομιστή / ftp
αρχείο echo put
ηχώ κοντά
ηχώ αντίο
} | ftp -n server.ftp
OOOHHH ενδιαφέρον, δεν ήξερα τι θα μπορούσε να γίνει έτσι 😀
Σας ευχαριστούμε!
Άλλοι τρόποι, για παράδειγμα με wput:
wput file_to_upload ftp: // ΧΡΗΣΤΗΣ: PASS@123.123.123.123: 21
ή για όσους προτιμούν την απλότητα σε ένα σενάριο χρησιμοποιώντας το παλιό telnet:
ftp -n server_ip << EOF
ανώνυμος χρήστης test@test.cu
αποστολή FILE.txt
έξοδος
EOF
Γεια σας, είμαι αρχάριος στο Linux και δεν ξέρω την επιστήμη των υπολογιστών - μόνο σε επίπεδο χρήστη - ή προγραμματισμό ή κάτι τέτοιο, είμαι πρακτικά ανίδεος για αυτό. Διάβασα αυτό το άρθρο και διάβασα στο τέλος της δεύτερης παραγράφου τη λέξη "τοποθεσία". αυτή η λέξη χρησιμοποιείται κατά λάθος, εννοείτε: τοποθεσία, τοποθεσία, τοποθεσία, μέρος. Η λέξη τοποθεσία σημαίνει κάτι άλλο, όπως λέει η RAE "http://dle.rae.es/?id=NXeOXqS".