Скрипты на bash — Погода gismeteo по sms
Когда-то на Хабре выкладывали скрипт, который парсил rss нужного города в gismeteo и отсылал на телефон пользуясь email2sms. У него было два недостатка: он был написан под FreeBSD (хотя и довольно просто портировался под Linux) и, что самое главное, он не показывал осадков (о_О). Поэтому я решил модифицировать скрипт, чтоб он брал информацию из xml для информеров, конвертировал в удобную форму и отсылал по смс. Потом передумал и просто написал с нуля.
Надо сказать, что это мой третий-пятый скрипт на bash вообще, впервые пользовался awk и никогда до этого не работал с xml. Поэтому мне пришлось все это учить до необходимого уровня, что и было проделано за несколько часов гугления. Говорю я все это для того, чтоб вы не высмеивали код за очевидные (не для меня) ляпы, а подсказали, что и как можно исправить\оптимизировать. За это я был бы очень благодарен (:
Собственно для работы скрипта обязательно нужна программа xmlstarlet. Отправка письма же идет через mutt, но ее можно легко можно заменить на, к примеру, mail.
Вот сам код:
В настройках крона нужно задать исполнение скрипта на 20:30 или позднее, т.к. до этого времени отдается погода не на следующий день, а на сегодня+завтра.
На этом все. Надеюсь, что кому-то пригодится (: .
UPD. Некоторые операторы блокируют услугу email2sms изначально. Например, чтоб активировать ее абонентам Djuice или Киевстар нужно отправить пустое сообщение на номер 7021 (бесплатно).
Надо сказать, что это мой третий-пятый скрипт на bash вообще, впервые пользовался awk и никогда до этого не работал с xml. Поэтому мне пришлось все это учить до необходимого уровня, что и было проделано за несколько часов гугления. Говорю я все это для того, чтоб вы не высмеивали код за очевидные (не для меня) ляпы, а подсказали, что и как можно исправить\оптимизировать. За это я был бы очень благодарен (:
Собственно для работы скрипта обязательно нужна программа xmlstarlet. Отправка письма же идет через mutt, но ее можно легко можно заменить на, к примеру, mail.
Вот сам код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
|
В настройках крона нужно задать исполнение скрипта на 20:30 или позднее, т.к. до этого времени отдается погода не на следующий день, а на сегодня+завтра.
На этом все. Надеюсь, что кому-то пригодится (: .
UPD. Некоторые операторы блокируют услугу email2sms изначально. Например, чтоб активировать ее абонентам Djuice или Киевстар нужно отправить пустое сообщение на номер 7021 (бесплатно).