1

Temat: Skrypt wysyłający 1 sms danego dnia

Hej Wszystkim

Po wielu próbach skonfigurowałem smstool aby wysyłało mi smsy, teraz chciałbym dodać skrypt przy starcie routera, który będzie wysyłał jeden sms danego dnia miesiąca. W związku z tym że u mnie router nie chodzi 24/24 wyłączany jest też na noc, wszystko musi się dziać przy starcie. O ile sprawdzenia dnia miesiąca to nie problem, to weryfikacja czy sms tego dnia został wysłany już tak, myślałem że odwołam się do pliku sms w folderze sent, ale on znika po restarcie routera. Będę wdzięczny za przykładowy skrypt umożliwiający coś takiego. THX

Używasz moich pakietów/obrazów z github?
Chcesz abym dalej je rozwijał i tworzył nowe?
Postaw kawę

2

Odp: Skrypt wysyłający 1 sms danego dnia

Po wysłaniu smsa zrób sobie

date > /etc/sms.txt

Będziesz miał kiedy został wysłany więc przed wysłaniem możesz sprawdzić datę z pliku i zdecydować czy ma coś wysłać czy nie.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3 (edytowany przez IceG 2016-06-21 22:37:30)

Odp: Skrypt wysyłający 1 sms danego dnia

Jakby ktoś potrzebował skrypt wysyłający sms danego dnia/danego miesiąca to wrzucam to co stworzyłem. U mnie router przypomina o opłaceniu internetu na kartę.

#!/bin/sh

#Parzyste miesiace - User1.
mon=`date +%m`
if [ $mon == 02 ] || [ $mon == 04 ] || [ $mon == 06 ] || [ $mon == 08 ] || [ $mon == 10 ] || [ $mon == 12 ]
then

#Czyscimy plik sms.txt
SM=`date '+%d'`
if [ $SM == 09 ] || [ $SM == 11 ]
then
echo "" >> /etc/sms.txt
fi

#Sprawdzamy czy dzien miesiaca to dzien w ktorym trzeba wyslac sms.
MStart=`date '+%d'`
if [ $MStart == 10 ]
then

#Sprawdzam czy tego dnia zostal wyslany sms, jezeli nie to sms zostanie wyslany.
if grep -q "10" /etc/sms.txt
then
echo "exist"
exit

else 

echo "To: 48500XXXXXX" > /tmp/sms
echo "" >> /tmp/sms
echo "Tu wpisz treść smsa." >> /tmp/sms
mv /tmp/sms /var/spool/sms/outgoing
sleep 10
date '+%d' > /etc/sms.txt

fi

fi

fi

#Nieparzyste miesiace - User2.
mon=`date +%m`
if [ $mon == 01 ] || [ $mon == 03 ] || [ $mon == 05 ] || [ $mon == 07 ] || [ $mon == 09 ] || [ $mon == 11 ]
then

#Czyscimy plik sms.txt
SR=`date '+%d'`
if [ $SR == 09 ] || [ $SR == 11 ]
then
echo "" >> /etc/sms.txt
fi

#Sprawdzamy czy dzien miesiaca to dzien w ktorym trzeba wyslac sms.
RStart=`date '+%d'`
if [ $RStart == 10 ]
then

#Sprawdzam czy tego dnia zostal wyslany sms, jezeli nie to sms zostanie wyslany.
if grep -q "10" /etc/sms.txt
then
echo "exist"
exit

else 

echo Przechodze do wysylania sms-a.
echo "To: 48503XXXXXX" > /tmp/sms
echo "" >> /tmp/sms
echo "Tu wpisz treść smsa." >> /tmp/sms
mv /tmp/sms /var/spool/sms/outgoing
sleep 10
date '+%d' > /etc/sms.txt

fi

fi

fi
Używasz moich pakietów/obrazów z github?
Chcesz abym dalej je rozwijał i tworzył nowe?
Postaw kawę

4

Odp: Skrypt wysyłający 1 sms danego dnia

Tak z ciekawości - czemu akurat w bashu a nie zwykłym generycznym shellu? Nie masz tu nic co by koniecznie basha wymagało.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5

Odp: Skrypt wysyłający 1 sms danego dnia

Dlaczego? w shellu nie jestem za bardzo zorientowany przez co bash może na wyrost, ale wydawał mi się dużo łatwiejszym rozwiązaniem.

Używasz moich pakietów/obrazów z github?
Chcesz abym dalej je rozwijał i tworzył nowe?
Postaw kawę

6

Odp: Skrypt wysyłający 1 sms danego dnia

Parę zmian ([ $MStart -eq 10 ] zamiast [ $MStart == 10 ]) i masz czysty shell bez potrzeby używania basha...

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

7

Odp: Skrypt wysyłający 1 sms danego dnia

Acha, dobrze wiedzieć smile, tak z ciekawości to coś zmienia? jest jakaś wyższość shella nad bash-em? bo jeżeli routerowi to nie robi różnicy i mi zresztą też to już nie będę kombinował jak działa smile.

Używasz moich pakietów/obrazów z github?
Chcesz abym dalej je rozwijał i tworzył nowe?
Postaw kawę

8

Odp: Skrypt wysyłający 1 sms danego dnia

Tyle że w openwrt nie ma domyślnie basha (jest ash) i zastosowanie basha dla jednego skryptu to po prostu marnowanie miejsca we flash. Funkcjonalnie to to samo, przecież nawet w php można by było to napisać.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

9

Odp: Skrypt wysyłający 1 sms danego dnia

Rzeczywiście basha musiałem dograć, w moim przypadku to akurat nie ma za bardzo znaczenia (wystarczająca przestrzeń flash w routerze), ale jeżeli rzeczywiście jedyna różnica w moim skrypcie dotyczy zapisu funkcji warunkowej IF to przepiszę go w ash i też umieszczę, będzie wybór.

Używasz moich pakietów/obrazów z github?
Chcesz abym dalej je rozwijał i tworzył nowe?
Postaw kawę

10

Odp: Skrypt wysyłający 1 sms danego dnia

Już zmieniłem na ash, jedyne co musiałem zamienić to nagłówek #!/bin/bash na #!/bin/sh i działa identycznie.

Używasz moich pakietów/obrazów z github?
Chcesz abym dalej je rozwijał i tworzył nowe?
Postaw kawę