Καλησπέρα σε όλους! Προσπαθώ να κάνω backup ένα folder με tar και προσθέτω την μεταβλητή `date +%c` για να μου κάνει generate την ημερομηνία/ώρα στο όνομα του αρχείου όμως για κάποιο λόγο το παίρνει ως όνομα φακέλου και έχω το εξής error UTC.tar.gz cannot stat: No such file or directory.
Η εντολή που τρέχω είναι :
Κώδικας:sudo tar -cvpzf /var/www_backup/myfolder.`date +%c`.tar.gz -C /var/www/ myfolder
Εμφάνιση 1-15 από 22
-
27-08-19, 20:36 Crontab time + date stamp #1
-
27-08-19, 20:45 Απάντηση: Crontab time + date stamp #2
Δοκίμασε με quotes
Κώδικας:sudo tar -cvpzf "/var/www_backup/myfolder.`date +%c`.tar.gz" -C /var/www/ myfolder
-
28-08-19, 20:38 Απάντηση: Crontab time + date stamp #3
Φίλε έπαιξε είσαι μάστορας!
- - - Updated - - -
Φίλε μου να σε ρωτήσω κάτι τρέχω ls -l στο φάκελο και έχω δικαιώματα να γράψω. Αν τρέξω την εντολή δουλεύει. Αν πάω crontab -e και βάλω
Κώδικας:*/1 * * * *
-
28-08-19, 20:51 Απάντηση: Crontab time + date stamp #4
Δοκίμασε αυτό:
Κώδικας:sudo tar -cvpzf "/var/www_backup/myfolder.`date +%c`.tar.gz" -C /var/www/ /var/www/myfolder > /tmp/test.txt
-
28-08-19, 23:43 Απάντηση: Crontab time + date stamp #5
Άνοιξα το txt και είναι πεντακάθαρο! Ούτε ένα error.
Πιθανά σημεία που μπορεί να κολλάειεφόσον έχω δικαίωμα να γράψω στο partition την εντολή την τρέχω χωρίς sudo διότι διαφορετικά θέλει κωδικό. Το έχω βάλει στο crontab ( χωρίς sudo )καρφωτά χωρίς να τρέχει κάποιο script και το τελευταίο αλλά αρκετά απίθανο να δηλώνω λάθος ώρες που θέλω να γίνει.
Έγραψα σήμερα shell script και παρατήρησα ότι ενώ τρέχει standalone ως cronjob δεν τρέχει. Χωρίς πάλι κάποιο errorΤελευταία επεξεργασία από το μέλος chrispet : 29-08-19 στις 13:40.
-
29-08-19, 17:05 Απάντηση: Crontab time + date stamp #6
Εσύ έχεις δικαίωμα, μήπως όμως ο cron τρέχει σαν άλλος χρήστης (πχ nobody); Στο script που έγραψες και παίζει μόνο του αλλά δεν παίζει μέσω cron, βάλε μέσα να τρέχει πέραν των άλλων και το παρακάτω
Κώδικας:whoami echo $USER echo $UID
Έπειτα δοκίμασε το script χειροκίνητα και μέσω cron και δες αν τρέχει σαν τον χρήστη που θέλεις / έχει δικαιώματα να γράψει."I like offending people, because I think people who get offended should be offended" - Linus Torvalds
"Παλιά είχαμε φτωχούς οι οποίοι ζούσανε σε φτωχογειτονιές. Τώρα, η οικονομικά δυσπραγούσα τάξη
κατέχει στέγες υποδεέστερης ποιότητας σε υποβαθμισμένα αστικά κέντρα" - George Carlin
Γα.... την πολιτική ορθότητα.
-
29-08-19, 17:37 Απάντηση: Crontab time + date stamp #7
Στην standalone περίπτωση έχω το εξής αποτέλεσμα :
Κώδικας:myuser myuser
Κώδικας:myuser 1000
-
29-08-19, 17:51 Απάντηση: Crontab time + date stamp #8"I like offending people, because I think people who get offended should be offended" - Linus Torvalds
"Παλιά είχαμε φτωχούς οι οποίοι ζούσανε σε φτωχογειτονιές. Τώρα, η οικονομικά δυσπραγούσα τάξη
κατέχει στέγες υποδεέστερης ποιότητας σε υποβαθμισμένα αστικά κέντρα" - George Carlin
Γα.... την πολιτική ορθότητα.
-
29-08-19, 18:02 Απάντηση: Crontab time + date stamp #9
Η συγκεκριμένη εντολή δοκίμασα να κάνω απλά export σε txt την ημερομηνία και δουλεύει
-
29-08-19, 18:04 Απάντηση: Crontab time + date stamp #10
Εκεί που έχεις βάλει την ημερομηνία, δοκίμασε λίγο να αλλάξεις το +%c σε +\%c και δες αν δουλεύει
"I like offending people, because I think people who get offended should be offended" - Linus Torvalds
"Παλιά είχαμε φτωχούς οι οποίοι ζούσανε σε φτωχογειτονιές. Τώρα, η οικονομικά δυσπραγούσα τάξη
κατέχει στέγες υποδεέστερης ποιότητας σε υποβαθμισμένα αστικά κέντρα" - George Carlin
Γα.... την πολιτική ορθότητα.
-
29-08-19, 18:18 Απάντηση: Crontab time + date stamp #11Κώδικας:
#!bin/bash DAY=$(date "+%Y.%m.%d-%H.%M.%S") BACKUP_DIR="media/mysuser/BACKUP/www_data" tar -cvpzf $BACKUP_DIR/$DATE.tar.gz /var/www/
Εάν βάλω +%c δεν παίζειΤελευταία επεξεργασία από το μέλος chrispet : 29-08-19 στις 18:23.
-
29-08-19, 18:34 Απάντηση: Crontab time + date stamp #12
Το +%c όμως δεν το είχες σε script αλλά στο crontab, σωστά ; Αν ναι, για αυτό δεν έπαιζε.
Όταν είδα την εντολή σου σκέφτηκα ότι κάτι παίζει με τα εισαγωγικά και τα backquotes. Ο cron τρέχει την εντολή σου σαν /bin/sh -c "εντολή" οπότε πολλές φορές γίνονται ιστορίες. Δεν ήτανε αυτό όμως αλλά το %. Πάνε χρόνια που έχω να ασχοληθώ με cron και ξέχασα ότι το % είναι ειδικός χαρακτήρας.
The "sixth" field (the rest of the line) specifies the command to be
run. The entire command portion of the line, up to a newline or a "%"
character, will be executed by /bin/sh or by the shell specified in the
SHELL variable of the cronfile. A "%" character in the command, unless
escaped with a backslash (\), will be changed into newline characters,
and all data after the first % will be sent to the command as standard
input."I like offending people, because I think people who get offended should be offended" - Linus Torvalds
"Παλιά είχαμε φτωχούς οι οποίοι ζούσανε σε φτωχογειτονιές. Τώρα, η οικονομικά δυσπραγούσα τάξη
κατέχει στέγες υποδεέστερης ποιότητας σε υποβαθμισμένα αστικά κέντρα" - George Carlin
Γα.... την πολιτική ορθότητα.
-
29-08-19, 18:46 Απάντηση: Crontab time + date stamp #13
Και στις 2 περιπτώσεις έχω το ίδιο script! Ok το δοκιμαζω και σου λέω
-
29-08-19, 18:50 Απάντηση: Crontab time + date stamp #14
Αν από το cron καλείς απλά το script δεν παίζει;
-
29-08-19, 19:02 Απάντηση: Crontab time + date stamp #15
Α να καλέσω το script και να ρυθμίσω χρόνους μέσα στο script?
Bookmarks