Προς το περιεχόμενο

run bash script from cron


pagratios

Προτεινόμενες αναρτήσεις

Έχω το παρακάτω script για να αλλάζω τα setting στο transmission.

#!/bin/bash

sudo cp /home/odroid/scripts/settings_night.json /etc/transmission-daemon/settings.json
sudo service transmission-daemon reload

αν το τρέξω από command line τρέχει κανονικά και αλλάζει τις ρυθμίσεις αλλά με την παρακάτω εγγραφή στο crontab δεν έχω καταφέρει να το κάνω να τρέξει

15 3 * * * /home/odroid/scripts/transmissionNightCron.sh

Κάτι θα πρέπει να προσθέσω ή να αλλάξω αλλά δεν ξέρω τι. Βρήκα διάφορα στο internet αλλά τίποτα δεν λειτούργησε

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

το πρόβλημα είναι με το sudo

λογικά το έχεις βάλει να τρέχει στο crontab του χρήστη σου οπότε περιμένει κωδικό

βγάλε τα sudo από το script και βάλτο στο crontab του root και θα παίξει κανονικά

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Σιγουρα δεν είναι αυτό καθώς έχω απενεργοποιήσει τον κωδικό από το sudo.

 

θα δοκιμάσω να το βάλω στο root

 

edit: Το έβαλα στο crontab του root αλλά συνεχίζει να μην λειτουργεί.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

βάλε το sh ή όποιο shell τρέχεις και σέταρε την PATH μέσα στο crontab του root

PATH=/bin:/sbin:/usr/bin:/usr/sbin

15 3 * * * sh /home/odroid/scripts/transmissionNightCron.sh
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Τσέκαρες το log του cron να δεις για σφάλματα; 

Πως τσεκάρεις πως δεν αλλάζει το αρχείο; 

Απ'όσο ξέρω το sudo δε χρειαζεται γιατι ήδη τρεχει με δικαιωματα superuser.

το transmissionNightCron.sh είναι εκτελέσιμο;

Η υπηρεσία cron τρέχει; 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

το script αλλάζει τα setting του transmission. Οπότε απλά το έλεγξχα αν άλλαξε.

Το log πως μπορώ να το δω?

 

όταν το έβαλα στο root crontab τότε άλλαξα το script χωρίς τα sudo.

 

Αν η υπηρεσία τρέχει αυτό είναι καλό ερώτημα. Πως μπορω να το ελέγξω?

 

edit:

sudo service cron start
start: Job is already running: cron

οπότε μάλλον τρέχει

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ναι, αλλά το έλεγξες ποια ώρα; Φαντάζομαι μετά τη συγκεκριμένη που του εχεις πει να τρεχει, δηλαδή μετά τις 03:15. Αυτό εννοώ. 

Εκτός και άλλαξες την ώρα για να τρέχει π.χ. κάθε λεπτό ώστε να τσεκάρεις αν δουλεύει.

 

Τι λειτουργικό έχεις; Ubuntu;

Σε Ubuntu ανοίγεις το /etc/rsyslog.d/50-default.conf και βγάζεις το σχόλιο (#) από τη γραμμή που περιέχει το cron.

Σε debian νομίζω το αρχείο νομιζω ειναι αυτό: /etc/rsyslog.conf

 

Μετά επανεκινείς την υπηρεσία rsyslog (π.χ. sudo /etc/init.d/rsyslog restart) και εμφανίζεται το /var/log/cron.log

Επίσης πέρα από αυτό μπορείς να βάλεις κάποιο δικό σου log. Για παράδειγμα:

15 3 * * * /home/odroid/scripts/transmissionNightCron.sh > /home/odroid/nightcron.log 2>&1

Αν προσθέσεις κι ένα date στο script θα καταλάβεις πιστεύω πότε και γιατί δεν τρέχει:

#!/bin/bash
 
date
sudo cp /home/odroid/scripts/settings_night.json /etc/transmission-daemon/settings.json

sudo service transmission-daemon reload
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Για να τεστάρω αν λειτουργεί άλλαζα συνεχώς την ώρα εκτελέσεις ώστε να μπορέσω να δω αν τρέχει. Θα δοκιμάσω αυτά που μου είπες και θα γράψω τι έγινε. Ubuntu είναι σε ένα odroid c1

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Για καλό και για κακό μετά τις αλλαγές που κάνεις στο crontab ρίξτου ένα restart, αν και νομίζω δε χρειάζεται γιατί ενημερώνεται αυτόματα για τις αλλαγές.

 

Μάλλον όμως το πιο πιθανό σου πρόβλημα δεν είναι το cron αλλά αυτό:

 


Note: The client should be closed before making changes, otherwise settings will be reverted to it's previous state.

https://trac.transmissionbt.com/wiki/EditConfigFiles#EditingConfigurationFiles

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

@capthookb: Έκανα τις αλλαγές που πρότεινες αλλά δεν άλλαξε κάτι. Ούτε error πετάει ούτε στο cron.log εμφανίζεται κάτι.

 

αν κάνεις reloadτο transmission δέχεται τα καινούρια setting. Το έχω δοκιμάσει και τρέχοντας το script κατευθείαν.

 

@warlock9_0: χρήσιμο όντως!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Φαίνεται να τρέχει όμως; 

Δε γίνεται να τρεχει χωρις σφαλματα και ταυτόχρονα να μην κάνει τις αλλαγες.

Τσέκαρε και για λάθη στις διαδρομες των αρχείων.

Δεν μπορώ να σκεφτώ κατι άλλο.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Το πιο λογικό ειναι να μην το λαμβάνει υπόψιν το cron δεν ξέρω γιατί αλλά αυτό μου δείχνει. Στα log δεν φαινεται τπτ

 

edit: Μάλλον δούλεψε. Έκανα restart το cron

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...