Archive

Posts Tagged ‘скрипт’

Скачиваем с Rapidshare в консоли и автоматически сбрасываем PPP сессию

May 24th, 2009 Davnozdu 3 comments

Всем привет!

Сегодня я решил выложить свои скрипты для скачивания файлов с Рапиды с помощью wget и с сбросом PPP сессии.

Применение:
Для примера возьмём моего провайдера.
Для выхода в интернет я использую ADSL модем с безлимитным тарифным планом.
При сбросе сессии мне даётся случайный внешний IP адрес.

Идея:
Сделать скачивание с Рапиды через консоль и после каждого скачивания сбрасывать PPP сессию для получения нового IP адреса и не ждать 15 минут.

Оборудование:
Модем у меня StarNet который я успешно перешил в Acorp Lan 120.
Для работы нам потребуется открытый доступ к модему через telnet.
Программа expect, для автоматизации сброса сессии.

Читать Далее…

Автоответчик и приём факсов в ОС Linux с помощью старого Voice модема

May 10th, 2009 Davnozdu 10 comments

Всем привет!

Завалилось у меня тут несколько Voice модемов.
Два Zyxel Omni 56k com-port и один Acorp Sprinter 56k USB (софт модем)

Я уже про них давно забыл, со времён когда ещё сидел в интернете по Dial UP
Но на этой недели их спокойная и безмятежная жизнь на полке закончилась.

Мне пришла в голову очередная идея:
Сделать автоответчик для дома.

Первое, с чего я решил начать, так это подключение самого модема к серверу.
Для начала решил попробывать завести Soft modem Acorp sprinter 56k USB
Пересобрал ядро, и принялся искать драйвера.
Для начала заглянул на страничку www.linmodems.org и скачал там скрипт scanModem
Он сам определить Ваш модем и предложит скачать подходящий драйвер.
Мне же он предложил подгрузить модуль ядра и попробывать снова.
Пересобирать ядро и возиться с драйверами мне было неохота и я решил поставить Zyxel Omni 56k с COM-port’ом

После подсоединения модема к серверу у меня возник вопрос:
Как же проверить его работоспособность?

Погуглив я наткнулся на программу minicom
Она позволяет Вам общаться с устройствами через COM port
Но почему-то она так и не смогла увидеть мой модем.
Тогда я решил послать AT команды напрямую через COM port
Делается это так:
Читать Далее…

Получаем число непрочитанных писем Gmail в статус баре GNU Screen

May 3rd, 2009 Davnozdu 2 comments

Всем привет!

Попалась на глаза интересная статейка: Show Unread Gmails in Gnu Screen Status Bar

Решил перевести и разместить у себя в блоге:

Итак, нам потребуется установленный GNU Screen и Wget

Правим свой файл .screenrc

caption always "%{= kw}%-w%{= BW}%n %t%{-}%+w %-= | %1` Unread |"

backtick 1 60 60 /home/Ваша_home_директория/bin/get_gmail

get_gmail – Это скрипт для получения почты, листинг смотрите ниже.

Сейчас создадим необходимые директории

mkdir ~/bin
cd bin/

В этом каталоге создаём скрипт get_mail

Copy SourceCopy HTML

  1. #!/bin/bash
  2. gmail_login=“username”
  3. gmail_password=“password”
  4. fetch=“$(wget –secure-protocol=TLSv1 –timeout=3 -t 1 -q -O - https://${gmail_login}:${gmail_password}@mail.google.com/mail/feed/atom –no-check-certificate )”
  5. line=“$(echo ”$fetch“ | grep ’fullcount’)”
  6. unread=“$(echo ”$line“ | sed ”s/<fullcount>\(.*\)<\/fullcount>/\1/“)”
  7. if [ -z "$unread" ]; then
  8. echo “!”
  9. else
  10. echo$unread
  11. fi

Осталось дать права на запуск

chmod 700 get_gmail

В принципе, это написано в качестве примера использования.
Остальное всё зависит от Вашей фантазии.

Можно например зациклить выполнение проверки писем.

Copy SourceCopy HTML

  1. #!/bin/bash
  2. gmail_login=“username”
  3. gmail_password=“password”
  4. while [ 1 ]; do
  5. fetch=“$(wget –secure-protocol=TLSv1 –timeout=3 -t 1 -q -O - https://${gmail_login}:${gmail_password}@mail.google.com/mail/feed/atom –no-check-certificate )”
  6. line=“$(echo ”$fetch“ | grep ’fullcount’)”
  7. unread=“$(echo ”$line“ | sed ”s/<fullcount>\(.*\)<\/fullcount>/\1/“)”
  8. if [ -z "$unread" ]; then
  9. echo “!”
  10. else
  11. echo$unread
  12. fi
  13. sleep 10m
  14. done

Затем если Вы как я используете оконный менеджер dwm, добавить это в файл ~/.xinitrc.
В скрипте после done нужно поставить знак & (done &)
И получать число непрочитанных писем в его статус баре, с интервалом 10 минут.

Как вариант, можно поправить строчку  mail.google.com/mail/feed/atom накакой-нибудь другой feed и получать письма с определённого лэйбла.

Файлообмен и резервирование данных на Linux сервере с помощью Dropbox

April 25th, 2009 Davnozdu 13 comments

Всем привет!

Опять Босс на работе сгенерировал очередное задание:
Имеем 2 офиса одной фирмы.

Задача:
Организовать файлообмен между ними.

У меня в голове возникло несколько решений этой задачи:

1) VPN туннель.
Такое решение слишком избыточно для простого файлообмена.

Плюсы:
Могут ходить в по сети в другой офис.
Лёгкость работы.
Шифрование данных
Сжатие данных

Из минусов:
Невозможно работать дома (я манагерам не доверяю, сертификаты не дам)
Нагрузка на интернет канал.
Из-за медленного канала возникнут тормоза при работе непосредственно с сетевой шары.
(можно конечно синхронизацию с локальной шарой сделать и пускай они с неё работают)
Избыточность для такой простой задачи.

2) FTP
Плюсы:
Простота реализации
Гибкие настройки
Можно работать дома

Минусы:

Сложность работы с FTP, манагеры этого точно не осилят.
Должен кто-то постоянно отгружать данные (Синхронизировать)

3) Подумав ещё немного я вспомнил про проект DropBox.
Особенно про Linux версию, которая может работать в качестве демона.

Читать Далее…

Gentoo: Получи SMS когда закончится сборка пакета

April 24th, 2009 Davnozdu 3 comments

Всем привет!

Вот наткнулся на интересную статью для пользователей Gentoo.

Идея: Поставить сборку пакета (или обновление мира) с помощью emerge и получить SMS при выполнении.

Реализация:

Нам потребуется:
mailx client (mail-client/mailx) – это консольное приложение для отправки почты.
MTA (mail transfer agent) агент для mailx (Postfix, Sendmail или ssmtp)

Скрипт: /usr/local/sbin/emobalert

Copy SourceCopy HTML

  1. #!/bin/sh
  2. # Record exit status of emerge–must precede ALL other commands!
  3. [ $? -eq 0 ] && RESULT=”PASS” || RESULT=”FAIL”
  4. # Change next line to your mobile/SMS address
  5. SMS_ADDR=”2015551212@sms.some-mobile.com”
  6. LAST_PKG=”$(tac /var/log/emerge.log | awk$2 == “>>>” {print $4,$5,$6,$7; exit;}’)”
  7. CFG_MODS=”$(find /etc -iname ‘._cfg????_*’ | wc -l)”
  8. mail -s”Emerge Completed” $SMS_ADDR <<-EOM
  9. ${RESULT} ${LAST_PKG}
  10. :::
  11. ${CFG_MODS} config updates pending
  12. $*
  13. EOM

Замените SMS_ADDR на Ваш телефон и SMS шлюз оператора.
И сделайте скрипт исполняемым.

Запуск:

Например вот так:

emerge -uDv world; emobalert

И по окончании сборки Вы получите такое сообщение:

From: root@localhost.localdomain
(Emerge Completed)
PASS (2 of 2) app-crypt/seahorse-2.22.3
:::
0 config updates pending

По моему очень удобно.

Источник