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

run bash script from cron


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

Δημοσ.

Έχω το παρακάτω 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

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

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

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

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

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

Σύνδεση

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

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