Καλησπέρα σε όλους,
Έχω ένα bash script που κάνει tar.gz όλο το /home folder.... Έπειδή όμως το /home έχει και email χρστών θέλω αυτά να κάνω exclude ...
Ξέρει κανείς πως μπορώ να κάνω αυτό ? Υπάρχει η παράμετρος --exclude και ξέρω πως δουλεύει αλλά δεν θέλω να βάλω ένα ενα όλα τα folders .....
Εϊναι πολλά ...Κανα κολπάκι που να του το πω ποιό γενικά ...Όπου βλέπει π.χ Maildir folders .... Βασικά δεν θέλω τα αρχεία των emails να βάζει στο backup ...Τους φακέλους. που είναι τα folder των email accounts πρέπει να τα παίρνει για μην γίνει break το σύστημα ! Έχει ιδέα κανείς πως το κάνω ?
Εμφάνιση 1-15 από 28
Θέμα: Bash Script & Maildir
-
23-07-15, 19:24 Bash Script & Maildir #1
-
23-07-15, 21:55 Απάντηση: Bash Script & Maildir #2
Μια γρηγορη σκεψη χωρις να μπλέξουμε find και λοιπα utils δοκίμασε: tar -zcvf file.tar --exclude="home/*/Maildir" /home (υποθέτωντας οτι Maildir είναι κοινή ονομασια για τα mail folders καθε χρηστη)
Unix is user-friendly. It's just very selective about who its friends are...
-
24-07-15, 11:54 Απάντηση: Bash Script & Maildir #3
Έτσι όμως δεν θα απορρίψει και τον ίδιο τον κατάλογο Maildir ?
Μια άλλη λύση θα μπορούσε να ήταν --exclude "Maildir/*" ώστε να απορρίψει μόνο τα αρχεία και υποκαταλόγους μέσα στο Maildir και να σώσει τον ίδιο τον κατάλογο Maildir.
Χωρίς όμως να ξέρουμε την δομή των καταλόγων σου DVader μόνο μαντεψιές μπορούμε να κάνουμε."I like offending people, because I think people who get offended should be offended" - Linus Torvalds
"Παλιά είχαμε φτωχούς οι οποίοι ζούσανε σε φτωχογειτονιές. Τώρα, η οικονομικά δυσπραγούσα τάξη
κατέχει στέγες υποδεέστερης ποιότητας σε υποβαθμισμένα αστικά κέντρα" - George Carlin
Γα.... την πολιτική ορθότητα.
-
24-07-15, 12:16 Απάντηση: Bash Script & Maildir #4
Υπάρχει το /home ένας φάκελος που έιναι ο φάκελος του domain. Οπότε στην ουσία κάθε φάκελος είναι ένα domain !
Τώρα αν υποθέσουμε ότι έχουμε το domain mydomain.gr τότε ο κεντρικός του φάκελος θα είναι /home/mydomain. Μέσα εκεί υπάρχει ο homes δηλαδή /home/mydomain/homes..
Για κάθε χρήστη μέσα στο homes υπάρχει ο φακελος του user1 όπου από εκεί κάτω έχει δημιουργήσει την δομή του postfix/dovecot.
Δηλαδή /home/mydomain/homes/user1
Τα αρχεία των emails είναι της μορφής 12341342.2333_0.servername.mydomain.gr
Την δομή δεν την έχω φτιάξει εγώ αλλά το virtualmin ...
Βασικά σκέφτηκα να του πω να κάνει exclude ότι αρχεία είναι της *.servername.mydomain.gr αλλα πω θα το εκφράσω σαν path ?
--exclude /home/*.servername.mydomain.gr αυτό σαν absolute path μου μοιάζει !
Σπαζοκεφαλιά ρε gmt !
- - - Updated - - -
Εγώ τα αρχεία θέλω να μην πάρει ..Τους φακέλους πρέπει διαφορετικά σε περίπτωση Restore δεν θα παίζει το postfix/dovecot γιατί θα λείπουν οι φάκελοι των διευθύνσεων !
Καταλάβατε ?
-
24-07-15, 12:46 Απάντηση: Bash Script & Maildir #5
-
24-07-15, 13:20 Απάντηση: Bash Script & Maildir #6
-
24-07-15, 13:32 Απάντηση: Bash Script & Maildir #7
Ναι κάτι τέτοιο εννοώ. Τώρα το ακριβές pattern εξαρτάται από το τι θες να κάνεις match αλλά αυτή είναι η ιδέα.
edit
Βασικά κάπως έτσι
/home/*.servername.mydomain.gr
http://refiddle.com/2eb1Τελευταία επεξεργασία από το μέλος pmav99 : 24-07-15 στις 13:43.
-
24-07-15, 14:06 Απάντηση: Bash Script & Maildir #8
-
24-07-15, 14:08 Απάντηση: Bash Script & Maildir #9
Η δομή δεν είναι η κλασική με τους καταλόγους cur, new, κτλ ? Αν ναι, δοκίμασες --exclude 'Maildir/*/*' ?
Βασικά με ενδιαφέρει τι βάθος καταλόγων υπάρχει και αν είναι σταθερό σε όλες τις περιπτώσεις.
Οι μικρές λεπτομέρειες και οι εσωτερικές υλοποιήσεις συνήθως δεν αναφέρονται στην manpage για να μην υπάρχει άσκοπη πληροφορία που γεμίζει την manpage. Για τον λόγο αυτό υπάρχουν οι info pages και εκεί θα βρεις ότι θέλεις για τα patterns. Νομίζω πάντως ότι είναι globbing patterns και δεν μπορείς να δουλέψεις regexps. Ίσως να μην θυμάμαι καλά.Τελευταία επεξεργασία από το μέλος imitheos : 24-07-15 στις 14:14.
"I like offending people, because I think people who get offended should be offended" - Linus Torvalds
"Παλιά είχαμε φτωχούς οι οποίοι ζούσανε σε φτωχογειτονιές. Τώρα, η οικονομικά δυσπραγούσα τάξη
κατέχει στέγες υποδεέστερης ποιότητας σε υποβαθμισμένα αστικά κέντρα" - George Carlin
Γα.... την πολιτική ορθότητα.
-
24-07-15, 14:55 Απάντηση: Bash Script & Maildir #10
Ως συνήθως, ο imitheos έχει δίκιο. Globbing παίρνει η tar
http://www.gnu.org/software/tar/manu..._6.html#SEC111
-
24-07-15, 16:16 Απάντηση: Bash Script & Maildir #11
"Η δομή δεν είναι η κλασική με τους καταλόγους cur, new, κτλ ? Αν ναι, δοκίμασες --exclude 'Maildir/*/*' ?"
Ναι είναι..Δεν το δοκίμασα γιατί δεν το σκέφτηκα αυτό ! Τώρα που το λες θα το βάλω έτσι να δω τι θα κάνει !
Καλά κάτσε να διαβάσω το link να δώ τι εννοείτε globbing patterns και τα λέμε πάλι !
Είπαμε γνωρίζω κάποια πράγματα στο Linux και από Bash scripting αλλά πάντα μα πάντα θα μου λείπουν γνώσεις !
Πάντως ευχαριστω τις βοήθειες σας ! ε...
-
24-07-15, 17:08 Απάντηση: Bash Script & Maildir #12
Με μπακάλικα λόγια, globbing είναι μια ευκολία που παρέχουν τα shells (και έχουν υιοθετήσει πολλά προγράμματα). Όταν έχεις πολλά αρχεία που αρχίζουν όλα πχ από DV, μπορείς να γράψεις DV* και αυτό θα σημαίνει όλα τα αρχεία αντί να πρέπει να τα γράψεις ένα-ένα. Το ερωτηματικό ? σημαίνει οποιονδήποτε ένα χαρακτήρα ενώ ο αστερίσκος * οσοδήποτε χαρακτήρες. Επίσης με τις αγκύλες μπορείς να ορίσεις σύνολα δηλαδή το "[a-c]lala" θα ισοδυναμεί με "alala blala clala" (αν φυσικά υπάρχουν τέτοια αρχεία)
Δες το παρακάτω παράδειγμα.
Κώδικας:% cd /tmp % touch f1 f2 % ls f1 f2 f1 f2 % ls f* f1 f2 % ls 'f*' /bin/ls: cannot access f*: Δεν υπάρχει τέτοιο αρχείο ή κατάλογος
Υπάρχουν όμως εντολές όπως το tar που έχουν υποστήριξη οι ίδιες για globbing οπότε _πρέπει_ να βάλεις τα εισαγωγικά ώστε το tar να λάβει το pattern αυτούσιο αντί να το αλλάξει το κέλυφος όπως σου εξηγεί παρακάτω η info page.
Αρχικό μήνυμα από tar_info_page
Όπως είπαμε πριν, ο αστερίσκος σε globbing σημαίνει οσοδήποτε και οποιουσδήποτε χαρακτήρες δηλαδή το a*b θα κάνει match το aab, το acfbb, το afgjhjkfhfb, κτλ. Σε regular expressions ο αστερίσκος σημαίνει οσεσδήποτε εμφανίσεις του προηγούμενου χαρακτήρα δηλαδή το a*b θα κάνει match μόνο τα ab, aab, aaab, κτλ."I like offending people, because I think people who get offended should be offended" - Linus Torvalds
"Παλιά είχαμε φτωχούς οι οποίοι ζούσανε σε φτωχογειτονιές. Τώρα, η οικονομικά δυσπραγούσα τάξη
κατέχει στέγες υποδεέστερης ποιότητας σε υποβαθμισμένα αστικά κέντρα" - George Carlin
Γα.... την πολιτική ορθότητα.
-
14-09-15, 14:42 Απάντηση: Bash Script & Maildir #13
Παιδιά επανέρχομαι στο θέμα γιατί δεν έπαιξε .....τελικά
Το έχω βάλει ώς --exclude Maildir/*/* αλλά μπα τα παίρνει πάλι ..
Τι θέλει .....gmt ?
-
14-09-15, 15:08 Απάντηση: Bash Script & Maildir #14
- Εγγραφή
- 27-08-2004
- Περιοχή
- internet
- Μηνύματα
- 23.371
- Downloads
- 58
- Uploads
- 17
- Άρθρα
- 9
- Ταχύτητα
- 49999 / 4999
- ISP
- ΟΤΕ Conn-x
- DSLAM
- ΟΤΕ - ΚΟΥΝΟΥΠΙΔΙΑΝΩΝ
Gentoo Linux: mess with the best and you might learn something
δικτυακή παράσταση | twitter | within specifications
Αν φτάσω τα 100 και με ρωτήσουν το μυστικό της μακροζωίας θα πω: Πάντα είχα 3 ποτήρια μπροστά μου· ένα με νερό, ένα με καφέ & ένα με αλκοόλ.
-
14-09-15, 15:52 Απάντηση: Bash Script & Maildir #15
Bookmarks