Архив метки: bash

Быстрый доступ к основным командам в Linux

Я человек ленивый. А потому часто используя одни и те-же команды в консоли Linux, сделал себе диалоговое окошко с меню, отображаемое при помощи bash, которое помогает мне сократить время на вспоминание что где когда и зачем. А помогла мне в этом утилита dialog.

Снимок экрана от 2014-08-20 17:53:25

Вот пример bash скрипта, который рисует нечто подобное:

#!/bin/sh
DIALOG=${DIALOG=dialog}
tempfile=`mktemp 2>/dev/null` || tempfile=/tmp/test$$
trap "rm -f $tempfile" 0 1 2 5 15

$DIALOG --clear --title "Выбор терминала для работы" \
        --menu "Выберите терминал:" 40 51 40 \
        "This"  "Остаться дома" \
        "Chaos"  "billing.wedwedq.ru" \
        "Athena"  "billing.yefwerfe.ru" \
        "Ares"  "billing.wefdwe.tv" \
	"---------"	"------"\
        "Eros" "Сервер доступа Шексна,Хохлово(Ш)" \
        "Helios" "Сервер доступа Чагода (Ш)" \
        "Nike" "Сервер доступа Кадуй (Ш)" \
        "Artemis" "Сервер доступа Лоста (Ш)" \
        "Poseidon" "Сервер доступа Вытегра (Ш)"  2> $tempfile

retval=$?

choice=`cat $tempfile`

case $retval in
  0)
    if [ $choice = "This" ]; then
     clear
     exit
    fi

    if [ $choice = "Ares" ]; then
     ssh billing.qwefqwe.tv -l логин
    fi

    if [ $choice = "Helios" ]; then
     ssh 121.237.158.1 -l логин
    fi

    if [ $choice = "Nike" ]; then
     ssh 127.27.138.1 -l логин
    fi

    if [ $choice = "Artemis" ]; then
     ssh 122.144.337.120 -l логин
    fi;;
  1)
    echo "Отказ от ввода.";;
  255)
    echo "Нажата клавиша ESC.";;

Ежедневный скриншот на сайт 2

загруженноеВ предыдущей записи на эту тему была маленькая недоработка, а именно как оказывается wp-mail.php в wordpress не понимает вложенные файлы. Посему схему пришлось сделать чуть сложнее:

  • делаем скриншот
  • заливаем его по FTP на сайт
  • отсылаем письмо в html формате на «секретный ящик»
  • wordpress «смотрит» ящик и делает запись телом сообщения письма

Вот мой получившийся скрипт:

#!/bin/bash
name=`date +%x-%X-%N.png`
scrot /home/pavel/dealy/$name

echo "cd /public_html/xn--90acbu5aj5f.xn--p1ai/dealy/" > /home/pavel/dealy/ftp.sh
echo put /home/pavel/dealy/$name $name >> /home/pavel/dealy/ftp.sh
echo close >> /home/pavel/dealy/ftp.sh
echo quit >> /home/pavel/dealy/ftp.sh

cat /home/pavel/dealy/ftp.sh $name| lftp логин:пароль@ftp.u2397248.cp.regruhosting.ru

sendEmail -f почта@gmail.com -o message-content-type=html -o message-charset=utf-8 -t gribov.почта@mail.ru -u "Снимок экрана" -m "Ежедневный снимок экрана в 13.00<br><img src=http://xn--90acbu5aj5f.xn--p1ai/dealy/$name>"