Καλησπέρα, θα ήθελα να κάνω μια ερώτηση.Με το rsync κάνω συγχρονισμό τα recordings του elastix σε ένα NAS και λειτουργεί κανονικά με ένα cronjob κάθε βράδυ στις 12:30 και όλα τα recordings της προηγούμενης μέρες είναι διαθέσιμα στο NAS. Αυτό που θέλω να κάνω είναι να δίνω αυτή την εντολή του rsync από ένα yealink τηλέφωνο.Αυτό είναι σαν συνέχιση της ιδέας για την εκκίνηση ενός υπολογιστή από το yealink που είχατε γράψει στο blog και είχα συμμετάσχει και εγώ στη συνέχεια στο forum.Όποτε ξεκίνησα ως εξής:
1)H εντολή για το rsync είναι "rsync -avzhe ssh /var/spool/asterisk/monitor/
root@192.168.87.101:/volumeUSB1/usbshare/@download/recordings" το οποίο λειτουργεί και χειροκίνητα(εννοώ γράφοντάς στο cli) και με το cronjob χωρίς passwords.Μετά κάνω edit το /etc/asterisk/extensions_custom.conf και κάτω από το [from-internal-custom]
Κώδικας:
exten => 889,1,NoOp(BackupRecordings)
same => n,Wait(5)
same => n,System(rsync -avzhe ssh /var/spool/asterisk/monitor/ root@192.168.87.101:/volumeUSB1/usbshare/@download/recordings)
same => n,Wait(60)
same => n,Hangup
2)Επανεκκίνηση asterisk -rx reload
3)Κάνω την κλήση και αυτό είναι αποτέλεσμα της κλήσης
Κώδικας:
Executing [889@from-internal:1] NoOp("SIP/201-000001a7", "BackupRecordings") in new stack
-- Executing [889@from-internal:2] Wait("SIP/201-000001a7", "5") in new stack
-- Executing [889@from-internal:3] System("SIP/201-000001a7", "rsync -avzhe ssh /var/spool/asterisk/monitor/ root@192.168.87.101:/volumeUSB1/usbshare/@download/recordings") in new stack
-- Executing [889@from-internal:4] Wait("SIP/201-000001a7", "60") in new stack
-- Executing [889@from-internal:5] Hangup("SIP/201-000001a7", "") in new stack
== Spawn extension (from-internal, 889, 5) exited non-zero on 'SIP/201-000001a7'
-- Executing [h@from-internal:1] Hangup("SIP/201-000001a7", "") in new stack
== Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/201-000001a7'
Αποτέλεσμα , παρόλο που η εντολή δείχνει να εκτελείται δεν γίνεται ο συγχρονισμός.Αν το κάνω μετά χειροκίνητα όλα δουλεύουν μια χαρά.
Μετά δοκίμασα να δώσω την εντολή μεσα απο ένα .sh αρχείο.
1)Δημιούργησα ένα αρχείο backuprecordings.sh και έβαλα μέσα
Κώδικας:
#!/bin/sh
# Daily Data Backup
rsync -avzhe ssh /var/spool/asterisk/monitor/ root@192.168.87.101:/volumeUSB1/usbshare/@download/recordings
Μετά το τρέχω σαν απλό εκτελέσιμο για να δοκιμάσω αν λειτουργεί χειροκίνητα(εννοώ γράφοντάς στο cli) και λειτουργεί κανονικά και με το cronjob αφού είναι πρακτικά η ίδια εντολή.
2)Μετά κάνω edit το /etc/asterisk/extensions_custom.conf και κάτω από το [from-internal-custom]
Κώδικας:
exten => 889,1,NoOp(BackupRecordings)
same => n,Wait(5)
same => n,System(/root/backuprecordings.sh)
same => n,Wait(60)
same => n,Hangup
Κώδικας:
3)Κάνω την κλήση και αυτό είναι αποτέλεσμα της κλήσης
-- Executing [889@from-internal:1] NoOp("SIP/201-000001a8", "BackupRecordings") in new stack
-- Executing [889@from-internal:2] Wait("SIP/201-000001a8", "5") in new stack
-- Executing [889@from-internal:3] System("SIP/201-000001a8", "/root/backuprecordings.sh") in new stack
-- Executing [889@from-internal:4] Wait("SIP/201-000001a8", "60") in new stack
-- Executing [889@from-internal:5] Hangup("SIP/201-000001a8", "") in new stack
== Spawn extension (from-internal, 889, 5) exited non-zero on 'SIP/201-000001a8'
-- Executing [h@from-internal:1] Hangup("SIP/201-000001a8", "") in new stack
== Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/201-000001a8'
Αποτέλεσμα , παρόλο που η εντολή δείχνει να εκτελείται δεν γίνεται ο συγχρονισμός.Αν το κάνω μετά χειροκίνητα όλα δουλεύουν μια χαρά.
Δεν μπορώ να καταλάβω γιατί δεν εκτελείται η εντολή, υπάρχει κάτι που έχω λάθος?
EDIT
Δοκίμασα να αλλάξω στην εντολή System με τη εντολή Exec και είχα πάλι σφάλματα, και μάλλον το Exec είναι λάθος εντολή γιατί η κλήση μου τελειώνει αμέσως και could not find application:
Κώδικας:
-- Executing [889@from-internal:1] NoOp("SIP/201-000001aa", "BackupRecordings") in new stack
-- Executing [889@from-internal:2] Wait("SIP/201-000001aa", "5") in new stack
-- Executing [889@from-internal:3] Exec("SIP/201-000001aa", "/root/backuprecordings.sh") in new stack
[2016-02-06 21:49:56] WARNING[4814][C-0000009f]: app_exec.c:160 exec_exec: Could not find application (/root/backuprecordings.sh)
== Spawn extension (from-internal, 889, 3) exited non-zero on 'SIP/201-000001aa'
-- Executing [h@from-internal:1] Hangup("SIP/201-000001aa", "") in new stack
== Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/201-000001aa'
Κώδικας:
-- Executing [889@from-internal:1] NoOp("SIP/201-000001ab", "BackupRecordings") in new stack
-- Executing [889@from-internal:2] Wait("SIP/201-000001ab", "5") in new stack
-- Executing [889@from-internal:3] Exec("SIP/201-000001ab", "rsync -avzhe ssh /var/spool/asterisk/monitor/ root@192.168.87.101:/volumeUSB1/usbshare/@download/recordings") in new stack
[2016-02-06 21:52:16] WARNING[4831][C-000000a0]: app_exec.c:160 exec_exec: Could not find application (rsync -avzhe ssh /var/spool/asterisk/monitor/ root@192.168.87.101:/volumeUSB1/usbshare/@download/recordings)
== Spawn extension (from-internal, 889, 3) exited non-zero on 'SIP/201-000001ab'
-- Executing [h@from-internal:1] Hangup("SIP/201-000001ab", "") in new stack
== Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/201-000001ab'