суббота, 4 февраля 2017 г.

как обезопасить свои страницы в соц сетях

  На просторах интернет огромное количество жалоб на то, что украли страницу в вк, ок или еще где. Зачастую пользователи меняют пароль ТОЛЬКО из-за ультиматума сайта. Да и меняют его, не вникая, как и где могли утечь их пароли. По сути проблема не решается ТОЛЬКО сменой пароля! Надо понимать, какими способами пользуются интернет-хулиганы (по другому сложно назвать. часто этим балуются не особо умные школьники, чтобы похвастать перед одноклассниками) для кражи\подбора логина\пароля. Понимая основы, можно начать принимать активные действия по предотвращению дальнейших взломов своих аккаунтов. Далее будет не большой список советов, который, надеюсь, окажется полезным:

    первый совет:
Не пользуйся короткими ссылками! (за ними может скрываться все что угодно! например, левый сайт -ловушка для кражи паролей)
    второй совет:
Не пользуйся вай-фай вне своего дома! (для входа на сайты, требующие логин\пароль)
    третий совет:
Мобильный телефон должен быть чист от шпионов (для этого рекомендую вдумчиво искать решения конкретных задач [прехват трафика, отправка гео данных...] )
    четвертый совет:
Не пользуйся прокси\анонимайзерами\VPN, которые тебе не подконтрольны (с большой долей вероятности эти БЕСПЛАТНЫЕ\иВозможноПлатные созданы для сбора паролей)
    пятый совет:
Пароль ОБЯЗАН быть сложным (сложный, это не: [va5ya] такое подбирается словарями очень быстро)

  Пробежимся по этим советам и посмотрим, как же могли утечь наши пароли.


  1. Под укороченной ссылкой можно скрыть страницу-двойника, который для вас будет полностью копией например vk.com. Попросит сайт снова ввести логин\пароль и с большой долей вероятности, 90% пользователей именно так и сделает - введет пароль и логин. Кроме кражи пароля есть есть способы выяснить откуда посетитель с точностью до провайдера.
  2. Первая и главная опасность - открытые и бесплатные сети. Приманка для не опытного пользователя. Кража паролей с большой долей вероятности и есть цель создания таких сетей. Не говоря уже о школьниках, которые пробуют себя в роли кхакеров, осуществляя arp-spoofing. Либо создавай точный дубликат существующей сети для все тех же целей - отлова паролей.
  3. Многие мобильный телефон не воспринимают как угрозу. Напрасно! Сейчас телефон - это такой миниатюрный банк данных (в том числе компромата). Общая рекомендащия: иметь звонилку без доступа к интернет для получения одноразовых паролей. Лучше защиты не придумать (для рядового гражданина. для серьезных людей этот совет не пригодится). В смартфоне вероятность встроенного\случайно установленного трояна очень большая. Полученные одноразовые пароли (да-да, одноразовый пароль не гарантирует защиту на 100%) могут быть скрытно отправлены злоумышленникам. Ваше географическое положение может быть получено без вашего согласия. Достаточно взлянуть на историю сохранненую Гуглом в личном кабинете, все встанет на свои места. ВЫКЛЮЧАЙ GPS, когда в нем нет необходимости!
  4. проски и т.д. уже описал опасности
  5. в общем и так все ясно

четверг, 2 февраля 2017 г.

Yandex Metro на службе у шпионов - ссылка прямо на местоположение "клиента"

#!/bin/bash
# A0:F3:C1:3B:6F:90
echo "";
echo " MAC: [ A0:F3:C1:3B:6F:90 ]"
read MAC1

##https://api.mylnikov.org/wifi/main.py/get?bssid=A0:F3:C1:3B:6F:90
curl --cookie /tmp/cookies.txt --cookie-jar /tmp/newcookies.txt -i -s -k -X 'POST' \
-H 'User-Agent: Dalvik/2.1.0 (Linux; U; Android 5.0.1; Nexus 5 Build/LRX22C)' -H 'Content-Type: application/x-www-form-urlencoded' \
"https://api.mylnikov.org/wifi/main.py/get?bssid=$MAC1" > /tmp/MAPS
echo "";
MAP1=`cat /tmp/MAPS | grep -oE "result*....." | sed 's/^........//'`
MAP2=`cat /tmp/MAPS | grep -oE "lat*................." | sed '1!d' | sed 's/^......//' | grep -oE "*.*[0-9]"`
MAP3=`cat /tmp/MAPS | grep -oE "lon*................." | sed 's/^......//' | grep -oE "*.*[0-9]"`

if [ "$MAP1" = 200 ]; then
echo "$MAP2"
echo "$MAP3"
echo "";
echo "https://www.google.ru/maps/@$MAP2,$MAP3,19z?hl=ru"
else
echo "Not found! At this time, safely."
fi
echo "";

Усложняем перехват паролей в вай фай сети

  На роутере пишем правило:
# ловушка от перехвата трафика сниферами:

iptables -A PREROUTING ! -d 192.168.0.0/24 -i wlan0 -p tcp -m multiport --dports \ 80,443,5190,8008,8080 -j DNAT --to-destination 192.168.0.1:80



# перенаправление трафика http\https вай фай сети на главную страницу роутера
тем временем клиенты сети пользуются прокси

P.S. проверял так:

#!/bin/bash
cp /root/Documents/bettercap* /media/root/OS/K_move/
echo " num 1"
read NUM
/etc/init.d/networking restart
DAT=`date +%Y_%m_%d-%H_%M_%S`
bettercap -I wlan0 -G 192.168.0.1 -T 192.168.0.2-20 --full-duplex -P '*' -X --proxy-https --proxy -L > /root/Documents/bettercap_$DAT.log &
tail -f /root/Documents/bettercap_$DAT.log

понедельник, 30 января 2017 г.

bashrc.sh

#!/bin/bash
echo " = Добро пожаловать к управлению роутером = "
echo -en "\E[1;32;40m Физический адрес устройства, в сторону провайдера `/sbin/ifconfig|grep eth1|awk '{print $5}'`\E[1;32;40m"
echo "";
echo -en "\E[0m"
# eth0
ETH0=$(/sbin/ifconfig | grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" | sed -n '1p')
# eth1
ETH1=$(/sbin/ifconfig | grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" | sed -n '4p')
# wlan0
WLAN0=$(/sbin/ifconfig | grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" | sed -n '9p')
# uptime
UPTIME=$(uptime | sed 's/^.............//' | sed 's/.................................$//')
# load
LOAD=$(uptime | awk '{print $8,$9,$10,$11,$12}')
# sensors
SENSORS=$(sensors | grep "Physical" | awk '{print $4}')
# df -h /
DF1=$(df -h | sed -n '2p' | awk '{ print $5}')
# df -h /var/spool/squid
DF2=$(df -h | grep "/var/spool/squid" | awk '{ print $5}')
# df -h /var/www
DF3=$(df -h | grep "/var/www/html" | awk '{ print $5}')
# df -h /var/log
DF4=$(df -h | grep "/var/log" | awk '{ print $5}')
# df -h /tmp
DF5=$(df -h | grep "/tmp" | awk '{ print $5}')
# i2p
I2P=$(systemctl status i2p.service | grep "Active:" | awk '{ print $9}')
# tor
TOR=$(systemctl status tor.service | grep "Active:" | awk '{ print $9}')
# privoxy
PRIVOXY=$(systemctl status privoxy.service | grep "Active:" | awk '{ print $9}')
# isc-dhcp-server
ISC=$(systemctl status isc-dhcp-server.service | grep "Active:" | awk '{ print $9}')
# bind9
BIND9=$(systemctl status bind9.service | grep "Active:" | awk '{ print $9}')
# hostapd
HOSTAPD=$(systemctl status hostapd.service | grep "Active:" | awk '{ print $9}')
# squid
SQUID=$(ps wup $(pgrep squid) | grep "squid-1" | awk '{ print $10 }')
# apache2
APACHE=$(systemctl status apache2.service | grep "Active:" | awk '{ print $9}')
# #  info print
echo " * * * Network * * *"
echo " internet $ETH1, LAN $ETH0, Wi-Fi $WLAN0"
echo "  - - - info minimum - - - "
echo " $SENSORS, UP $UPTIME, LOAD $LOAD"
echo " _ _ _ HDD _ _ _ "
echo " $DF1 /, $DF2 squid, $DF3 www, $DF4 log, $DF5 tmp"
echo " + + status + +"
echo " i2p      $I2P"
echo " tor      $TOR"
echo " privoxy  $PRIVOXY"
echo " isc      $ISC"
echo " bind9    $BIND9"
echo " hostapd  $HOSTAPD"
echo " squid    $SQUID Time Running"
echo " apache2  $APACHE"
echo "";
echo "  зашёл с IP - `echo ${SSH_CLIENT%% *}`"
echo "";

погода ветер

#!/bin/bash

# spb
#http://www.accuweather.com/ru/ru/saint-petersburg/295212/current-weather/295212
URL1='http://www.accuweather.com/ru/ru/saint-petersburg/295212/current-weather/295212'

wget -q -O- "$URL1" >  /tmp/pogoda_spb_veter

# tail -n 1
# sed 's/^.//'
# sed 's/..$//'
VETER1=$(cat /tmp/pogoda_spb_veter | grep "li class" | grep "strong" | tail -n 1 | \
 sed 's/^...................................................//' | \
 sed 's/...............$//')
echo "$VETER1" > /tmp/pogoda_spb_veter1

погода

#!/bin/bash
# Санкт-Петербург
URL1='http://www.accuweather.com/ru/ru/saint-petersburg/295212/weather-forecast/295212'
# Братск
URL2='http://www.accuweather.com/ru/ru/-/288008/weather-forecast/288008'
# Ростов на Дону
#URL='http://www.accuweather.com/ru/ru/rostov-on-don/295146/weather-forecast/295146'

wget -q -O- "$URL1" > /tmp/pogoda
wget -q -O- "$URL2" > /tmp/pogoda1

TEMP=$(cat /tmp/pogoda | grep "large-temp" | tail -n 1 | sed 's/^..................................................................//' | sed 's/.............$//')
GORO=$(cat /tmp/pogoda | grep "current-city" | grep "span" | sed 's/^...................................................................//' | sed 's/.....................$//')
OSAD=$(cat /tmp/pogoda | grep "span class" | grep "cond" | head -n 1 | sed 's/^...........................................................//' | sed 's/........$//')

TEMP1=$(cat /tmp/pogoda1 | grep "large-temp" | tail -n 1 | sed 's/^..................................................................//' | sed 's/.............$//')
GORO1=$(cat /tmp/pogoda1 | grep "current-city" | grep "span" | sed 's/^...................................................................//' | sed 's/.....................$//')
OSAD1=$(cat /tmp/pogoda1 | grep "span class" | grep "cond" | head -n 1 | sed 's/^...........................................................//' | sed 's/........$//')

#echo " $GORO $TEMP $OSAD"
#echo " $GORO1 $TEMP1 $OSAD1"

echo " $GORO $TEMP $OSAD" > /tmp/pogodasp
echo " $GORO1 $TEMP1 $OSAD1" > /tmp/pogodabr

собрать из 4-х изображений одно

#!/bin/bash
echo "";
echo " Собрать 4 изображения в одно"
echo "";
ls | grep ".jpg"
echo "";
echo " первое изображение:"
read IMG1
echo " второе изображение:"
read IMG2
echo " третье изображение:"
read IMG3
echo " четвертое изображение:"
read IMG4
echo "";
montage -geometry +4+4 -tile 2 $IMG1 $IMG2 $IMG3 $IMG4 $(date +%Y.%m.%d_%H:%M:%S)_$IMG1.jpg

добавить в изображение текст

#!/bin/bash
ls | grep ".jpg"
echo "";
echo " Имя файла для добавления текста:"
read NAME
echo "";
identify -verbose $NAME | grep -E "(Number\ pixels|Page\ geometry|Filesize)"
echo "";
echo " Ввести текст:"
read TEXT
echo "";
convert $NAME -fill white -box '#00770080' -gravity South \
 -pointsize 20 -annotate +0+5 " $TEXT " $NAME.jpg

Linux CPU test

#!/bin/bash
#sudo apt-get install cpuburn

#killall burnP6
#burnP6

echo "";
echo "  Стресс тест процессора"
echo "  проверка на качество охлаждения"
echo "  и стабильность комплектующих"
echo "";
echo -en "\033[37;1;41m Продолжить? (Запустить тест CPU) (y/n) \033[0m"

read item
case "$item" in
    y|Y) echo -en "\033[31m Ввели «y», начинаем тест CPU... \033[40m"
    echo " `date +%T_%F` -- Start test"
    burnP6 &
    burnP6 &
    burnP6 &
    burnP6 &
    burnP6 &
    burnP6 &
    burnP6 &
    burnP6 &
    echo "" &
    echo " Для завершения стресс-теста \n" &
    echo " снова запусти скрипт и нажми < N >" &
    exit 0
        ;;
    n|N) echo -en "\033[32m Ввели «n», завершаем... \033[40"
    echo " `date +%T_%F` -- Stop test"
    killall burnP6
    echo "" &
        exit 0
        ;;
    *) echo "Ничего не ввели. Выполняем действие по умолчанию..."
    echo "" &
    killall burnP6
    exit 0
        ;;
esac

ffmpeg kill

#!/bin/bash
NAME=$(ps wup $(pgrep ffmpeg) | sed -n '2p' | grep -oE "t/screencast_*.*" | sed 's/^..//')
PID=$(ps wup $(pgrep ffmpeg) | sed -n '2p' | awk '{ print $2}')
kill $PID
DISPLAY=:0.0 /usr/bin/notify-send -t 10000 "Скринкаст остановлен" "имя файла: $NAME"

ffmpeg запись с экрана

#!/bin/bash
TIME=$(date +%Y.%m.%d_%H:%M:%S)
ffmpeg -f x11grab -s "1920x1080" -i :0.0 -r "30" -f mp4 -vcodec libx264 /home/$USER/Изображения/screencast/screencast_$TIME.mp4 \
& DISPLAY=:0.0 /usr/bin/notify-send -t 10000 "Скринкаст запущен" "ия файла: screencast_$TIME.mp4"

rsync

#!/bin/bash
#
# a - обновлять только изменившиеся файлы
# u - игнорировать ошибки
# r - копировать рекурсивно
# -e ssh - через ssh
# v - выводить инфу о каждом файле
# u - режим обновления:
# --ignore-errors - игнорировать ошибки
# --delete-during - удаление файлов на приёмнике в процессе копирования

rsync -aru --stats --ignore-errors --delete-during -e ssh user2@192.168.0.1:/home/user2/        /backup/xbmc/user2/

Запись диска. rsync быстрее копирует файлы, чем Linux Mint GUI

#!/bin/bash
TIME1=$(date +"%s")
rsync -arvu --ignore-errors --progress /750/repo/TMP_BR/ /home/$USER/TMP_ISO_BR/
TIME2=$(date +"%s")

TIME=$(($TIME1 - $TIME2))
TIME0=$(echo "$TIME" | sed 's/^.//')

if [ "$TIME0" -lt "60" ];
        then echo " $TIME0 секунд" #YES
echo "синхронизация файлов для записи диска завершена за $TIME0 секунд" | RHVoice-client -s Anna+CLB -r -0.1 -p -0.7 | aplay -q
        else
 X=$(( TIME0 / 60 ));
echo " $X минут"
echo "синхронизация файлов для записи диска завершена за $X минут" | RHVoice-client -s Anna+CLB -r -0.1 -p -0.7 | aplay -q
fi

find move

#!/bin/bash
echo "";
echo " Search move"
echo "";
echo " Укажи путь, где искать видео:"
read DIR
echo " Укажи название плейлиста:"
read NAME

FILE="/home/$USER/PlayList/$NAME.m3u"
if [ -f $FILE ]; then # если есть уже файл с этим именем
rm /home/$USER/PlayList/$NAME.m3u && echo " файл удален - $NAME.m3u"
else sleep 1 # не найден, продолжаем
fi

find $DIR \( -name "*.avi" -or -name "*.mp4" -or -name "*.mkv" \) -type f -print | sort -g >> /home/$USER/PlayList/$NAME.m3u
LINE=$(cat /home/$USER/PlayList/$NAME.m3u | wc -l)
GB=$(find $DIR -type f -name "*.avi" -or -name "*.mp4" -or -name "*.mkv" -exec ls -l --block-size=G "{}" \; | sort -hr | awk '{print $5}' | sed 's/.$//' | awk -F'#' '{sum = sum+$1}; END {print "Всего: " sum " GB"}')
MB=$(find $DIR -type f -name "*.avi" -or -name "*.mp4" -or -name "*.mkv" -exec du --max-depth=1 -m "{}" \; | sort -hr | awk -F'#' '{sum = sum+$1}; END {print "Всего: " sum " MB"}')
KB=$(find $DIR -type f -name "*.avi" -or -name "*.mp4" -or -name "*.mkv" -printf "%p#%k KB\n" | awk -F'#' '{sum = sum+$2}; END {print "Всего: " sum " KB"}')
echo " количество видео роликов - $LINE"
echo " всего занимают места - $GB"
echo " всего занимают места - $MB"
echo " занимают места - $KB"
echo "Найдено видео файлов $LINE" | RHVoice-client -s Anna+CLB -r -0.1 -p -0.7 | aplay -q
echo "Создание видео плей листа завершено" | RHVoice-client -s Anna+CLB -r -0.1 -p -0.7 | aplay -q

ffmpeg склеить 2 изображения

#!/bin/bash
TIME1=$(date +"%s")
echo "";
echo -en "\033[37;1;41m ВНИМЕНИЕ! Изображения ОБЯЗАТЕЛЬНО     \033[0m"; echo "";
echo -en "\033[37;1;41m ВНИМЕНИЕ! добжны быть ОДНОГО РАЗМЕРА! \033[0m"; echo -en "\E[0m";
echo "";
ls | grep ".jpg"; echo "";
# Заменяет пробелы символом подчеркивания в именах файлов в текущем каталоге.
ONE=1                     # единственное или множественное число (см. ниже).
number=0                  # Количество переименованных файлов.
FOUND=0                   # Код завершения в случае успеха.
for filename in *         # Перебор всех файлов в текущем каталоге.
do
     echo "$filename" | grep -q " "         #  Проверить — содержит ли имя файла
     if [ $? -eq $FOUND ]                   #+ пробелы.
     then
       fname=$filename                      # Удалить путь из имени файла.
       n=`echo $fname | sed -e "s/ /_/g"`   # Заменить пробелы символом подчеркивания.
       mv "$fname" "$n"                     # Переименование.
       let "number += 1"
     fi
done
if [ "$number" -eq "$ONE" ]
then
 echo "$number файл переименован."
else
 echo "Переименовано файлов: $number"
fi
#
echo "";
ls | grep ".jpg"
echo " Ввести имена 2-х файлов изображений:";
echo -en "\033[32m Введи img1 : \033[40m"; echo "";
read IMG1
echo -en "\033[32m Введи img2 : \033[40m"; echo "";
read IMG2
echo "";
echo -en "\033[37;1;41m Собрать анимацию ? (y/n) \033[0m"; echo "";
read item
case "$item" in
    y|Y) echo -en "\E[1;40;32m склеивание картинок ... \E[1;40;32m"; echo "";
        ffmpeg -loop 1 -i $IMG1.jpg -loop 1 -i $IMG2.jpg -filter_complex \
     "[0:0]format=rgba,trim=duration=10,fade=in:st=0:d=1:alpha=1,fade=out:st=4:d=1:alpha=1[a];[1:0]format=rgba,trim=duration=10,fade=in:st=5:d=1:alpha=1,fade=out:st=9:d=1:alpha=1[b];[a][b]overlay=[out1]" \
     -map [out1] -y -qscale 25 -vcodec libx264 -b:v 2550K -crf 26 -s "1280x720" \
     -threads auto -thread_type frame -strict -2 /home/$USER/anim_$(date +%Y-%m-%d_%H-%M-%S).mp4 2>/dev/null
        ;;
    n|N) echo -en "\033[32m Ввели «n», завершаем... \033[40m"; echo "";
        exit 0
        ;;
    *) echo "Ничего не ввели. Выполняем действие по умолчанию..."
        exit 0
        ;;
esac
# конец скрипта. записать контрольное время
TIME2=$(date +"%s")
# вычесть стоп-старт
TIME=$(($TIME1 - $TIME2))
# убрать не понятно откуда взявшийся символ "минус"
TIME0=$(echo "$TIME" | sed 's/^.//')
# при значениях менее 60, выдасть в секундах:
if [ "$TIME0" -lt "60" ];
        then echo "$TIME0 секунд" #YES
        else
 X=$(( TIME0 / 60 ));
# при значениях больше 60, разделит на 60 и подаст как минуты:
 echo "$X минут"
fi

ffmpeg bash. замена пробелов в имени файла

#!/bin/bash
TIME1=$(date +"%s")
echo "";
echo " -vcodec libx264 -b:v 2550K -crf 23 -s 1280x720"
echo " -threads auto -thread_type frame -c:a aac -b:a 128k -strict -2"
echo "";
ls | grep ".avi"
echo "";
#ls | grep " "
# Заменяет пробелы символом подчеркивания в именах файлов в текущем каталоге.
ONE=1                     # единственное или множественное число (см. ниже).
number=0                  # Количество переименованных файлов.
FOUND=0                   # Код завершения в случае успеха.
for filename in *         # Перебор всех файлов в текущем каталоге.
do
     echo "$filename" | grep -q " "         #  Проверить — содержит ли имя файла
     if [ $? -eq $FOUND ]                   #+ пробелы.
     then
       fname=$filename                      # Удалить путь из имени файла.
       n=`echo $fname | sed -e "s/ /_/g"`   # Заменить пробелы символом подчеркивания.
       mv "$fname" "$n"                     # Переименование.
       let "number += 1"
     fi
done
if [ "$number" -eq "$ONE" ]
then
 echo "$number файл переименован."
else
 echo "Переименовано файлов: $number"
fi
echo "";
ls | grep ".avi"
#
echo -en "\033[32m Введи число = мах(18-26)мин Качество: \033[40m"; echo "";
read CRF
echo "";
echo -en "\033[37;1;41m Конвертировать видео из .avi в .mp4 ? (y/n) \033[0m"; echo "";
read item
case "$item" in
    y|Y) echo -en "\E[1;40;32m конвертирование в .mp4 ... \E[1;40;32m"; echo -en "\E[0m"; echo "";
    for i in *.avi; do
# -crf 18-26
        ffmpeg -i $i -vcodec libx264 -b:v 2550K -crf $CRF -s 1280x720 \
         -threads auto -thread_type frame -c:a aac -b:a 128k -strict -2 -y $i.mp4 2> /tmp/ffname;
        cat /tmp/ffname | grep -E "(Stream \#0:0)|(Stream \#0:1)" | sed -n '1,2p'
    done
echo "";
    for i in *.mp4; do
                ffmpeg -i $i 2> /tmp/ffname;
                cat /tmp/ffname | grep -E "(Stream \#0:0)|(Stream \#0:1)"
        done
        ;;
    n|N) echo -en "\033[32m Ввели «n», завершаем... \033[40m"; echo "";
        exit 0
        ;;
    *) echo "Ничего не ввели. Выполняем действие по умолчанию..."
        exit 0
        ;;
esac

# конец скрипта. записать контрольное время
TIME2=$(date +"%s")
# вычесть стоп-старт
TIME=$(($TIME1 - $TIME2))
# убрать не понятно откуда взявшийся символ "минус"
TIME0=$(echo "$TIME" | sed 's/^.//')
# при значениях менее 60, выдасть в секундах:
if [ "$TIME0" -lt "60" ];
        then echo "$TIME0 секунд" #YES
        else
 X=$(( TIME0 / 60 ));
# при значениях больше 60, разделит на 60 и подаст как минуты:
 echo -en "\E[1;40;32m $X минут \E[1;40;32m"; echo "";
fi

restore dd bash

#!/bin/bash
echo "";
echo "  Поиск XBMC"
sudo blkid | grep 'PARTLABEL="xbmc"'

# выполнить резервное копирование?
#blkid | grep 'PARTLABEL="xbmc"' | awk '{print $1}' | sed 's/..$//'

DEV=$(sudo blkid | grep 'PARTLABEL="xbmc"' | awk '{print $1}' | sed 's/..$//')
echo " Образ искать в директории: /home/$USER/iso"
echo "`ls /home/$USER/iso`"
echo " Укажи имя файла: (без .расширение)"
read NAME

echo -en "\033[37;1;41m выполнить восстановление из копии? (y/n) \033[0m"

read item
case "$item" in
    y|Y) echo -en "\033[31m Ввели «y», восстановление... \033[40m"
    sudo dd if=/home/$USER/iso/$NAME.img of=$DEV bs=4096
    mpg321 -g 100 /home/$USER/.backup/.torcs1.mp3
        ;;
    n|N) echo -en "\033[32m Ввели «n», завершаем... \033[40"
        exit 0
        ;;
    *) echo "Ничего не ввели. Выполняем действие по умолчанию..."
    exit 0
        ;;
esac

backup dd bash

#!/bin/bash
TIME1=$(date +"%s")
echo "";
echo "  Поиск XBMC"
sudo blkid | grep 'PARTLABEL="xbmc"' | grep -o 'TYPE="ext2" PARTLABEL="xbmc"'

# выполнить резервное копирование?
#blkid | grep 'PARTLABEL="xbmc"' | awk '{print $1}' | sed 's/..$//'

DEV=$(sudo blkid | grep 'PARTLABEL="xbmc"' | awk '{print $1}' | sed 's/..$//')
echo " Образ искать в директории: /home/$USER/iso"
echo " Укажи название файла: (XBMC_ название .img)"
read NAME

echo -en "\033[37;1;41m выполнить резервное копирование? (y/n) \033[0m"

read item
case "$item" in
    y|Y) echo -en "\033[31m Ввели «y», резервное копирование... \033[40m"
    sudo dd if=$DEV of=/home/$USER/iso/XBMC_$NAME.img bs=4096
    echo " Копирование завершено..."
    echo "Резервное копирование Дебиан завершено успешно!" | RHVoice-client \
 -s Anna+CLB -r -0.1 -p -0.7 | aplay -q
    sleep 10
    UM=$(df -h | grep "$DEV" | awk '{print $6}')
    echo " определение устройства для отключения..."
    sleep 5
    sudo umount $UM
    echo " Устройство можно извлечь!"
echo "Устройство можно извлечь" | RHVoice-client -s Anna+CLB -r -0.1 -p -0.7 | aplay -q
    sleep 5
    mpg321 -g 100 /home/$USER/.backup/.torcs1.mp3 -q
        ;;
    n|N) echo -en "\033[32m Ввели «n», завершаем... \033[40"
        exit 0
        ;;
    *) echo "Ничего не ввели. Выполняем действие по умолчанию..."
    exit 0
        ;;
esac
TIME2=$(date +"%s")

TIME=$(($TIME1 - $TIME2))
TIME0=$(echo "$TIME" | sed 's/^.//')

if [ "$TIME0" -lt "60" ];
        then echo "$TIME0 секунд" #YES
        else
 X=$(( TIME0 / 60 ));
 echo "потрачено $X минут на копирование образа с флешки" | RHVoice-client -s Anna+CLB -r -0.1 -p -0.7 | aplay -q
 echo "потрачено $X минут на копирование образа с флешки"
fi

запись дисков blu ray Linux

#!/bin/bash
## контрольное время начало скрипта:
TIME1=$(date +"%s")

echo "";
echo "  _ _ Record BluRey _ _ "
echo "";

## проверить смонтирована ли директория:
if df -h | grep "/home/$USER/TMP_ISO_BR" | grep -o loop0 &> /dev/null;
then
## для нового проекта она должна быть отмонтирована:
    echo -en "\E[1;40;31m Запрос пароля для отмонтирования директории TMP_ISO_BR \E[1;40;31m"; echo "";
    echo "";
    sudo umount /home/$USER/TMP_ISO_BR
    echo " * * * отмонтирован! * * *"; echo "";
fi
## имя образа в виде текущей даты:
DAT=$(date +%d_%m_%Y)

## задать размер и тип виртуальной файловой системе:
## 1
echo -en "\033[37;1;41m Удалить существующие образы и создать новый? (y/n) \033[0m"; echo "";
read item1
case "$item1" in
    y|Y) echo -en "\E[1;47;30m Ввели «y», Созданиме, форматирование, монтироваение... \E[1;47;30m"; echo -en "\E[0m"; echo ""; echo "";
## проверить существование образов:
    if find /home/$USER/ -iname "*.udf" -type f -print | grep -o udf &> /dev/null;
    then
    ## для нового проекта она должна быть уделоно:
        find /home/$USER/ -iname "*.udf" -type f -exec rm {} \; && echo "     уделен файл .udf"; echo "";
    fi
##
    echo -en "\E[1;47;30m Create udf... \E[1;47;30m"; echo -en "\E[0m"; echo "";
## задать размер:
    truncate --size=23610MiB /home/$USER/.$DAT.udf
    echo -en "\E[1;40;31m Format... \E[1;40;31m"; echo "";
## создать файловую систему внутри файла:
    sudo mkudffs --utf8 --lvid=$DAT --vid=$DAT /home/$USER/.$DAT.udf
    echo -en "\E[1;47;30m Mount... \E[1;47;30m"; echo -en "\E[0m";  echo ""; echo "";
## монтирование образа как флешку\диск:
    sudo mount -oloop,rw,users,sync,gid=evg,uid=evg,iocharset=utf8 /home/$USER/.$DAT.udf /home/$USER/TMP_ISO_BR

## считает содержимое будущего диска:
## 2
echo -en "\E[1;32;40m Подсчитать файлы, папки, и размер? (y/n) \E[1;32;40m";  echo "";
read item2
case "$item2" in
    y|Y) echo -en "\E[0m Ввели «y», Считаем... \E[0m";  echo ""; echo "";

       echo " `find /home/$USER/TMP_ISO_BR/ -type f -print | wc -l` - количество файлов" > /home/$USER/TMP_ISO_BR/.BR.log
       echo " `find /home/$USER/TMP_ISO_BR/ -type d -print | wc -l` - количество директорий" >> /home/$USER/TMP_ISO_BR/.BR.log
       echo " `du -sh /home/$USER/TMP_ISO_BR/ | awk '{print $1}'` - общее количество занимаемого места" >> /home/evg/TMP_ISO_BR/.BR.log
       echo " `find /home/$USER/TMP_ISO_BR/ -type f -print | wc -l` - количество файлов"
       echo " `find /home/$USER/TMP_ISO_BR/ -type d -print | wc -l` - количество директорий"
       echo " `du -sh /home/$USER/TMP_ISO_BR/ | awk '{print $1}'` - общее количество занимаемого места"
    echo "";
## синхронизация\выгрузка буферов:
    sync
    echo -en "\E[1;40;31m Разрешить umount TMP_ISO_BR: \E[1;40;31m";  echo ""; echo "";
## отмонтирование директории:
    sudo umount /home/$USER/TMP_ISO_BR
    echo -e "\E[1;32;40m Umount OK \E[1;32;40m"
#

if dvd+rw-mediainfo /dev/sr0 2&> /dev/null | grep "Disc status:" | grep -o blank &> /dev/null;
then
## наличие пустого диска:
    echo "";
    echo -e "\E[1;32;40m _ Диск готов к записи :-) _ \E[1;32;40m"; echo "";
    echo "диск в приводе, жми далее" | RHVoice-client -s Anna+CLB -r -0.1 -p -0.7 | aplay -q
    echo -en "\E[0m"
#
else
    echo -e "\E[1m \E[1;33;40m"
    echo " !!! ВСТАВЬ ПУСТОЙ ДИСК !!!"
        echo "  ПРЕЖДЕ ЧЕМ ПРОДОЛЖИТЬ..."
        echo " !!! ВСТАВЬ ПУСТОЙ ДИСК !!!"
    echo "вставь диск, дубина" | RHVoice-client -s Anna+CLB -r -0.1 -p -0.7 | aplay -q
        echo -en "\E[0m"; echo "";
fi

## непосредственно запись:
## 3
echo -en "\033[37;1;41m Пишем диск? (y/n) \033[0m"; echo "";
read item2
case "$item2" in
    y|Y) echo -en "\033[31m Ввели «y», Выполняется запись... \033[40m"; echo ""; echo "";
         echo -en "\E[1;31m Record... \E[1;40m"; echo "";
## запись на максимальной скорости 6х, с отключенными резервными блоками:
growisofs -use-the-force-luke=spare:none -speed=6 -dvd-compat -Z /dev/sr0="/home/$USER/.$DAT.udf"
echo "нарезка диска выполнена" | RHVoice-client -s Anna+CLB -r -0.1 -p -0.7 | aplay -q
echo "далее произойдёт проверка качества копирования" | RHVoice-client -s Anna+CLB -r -0.1 -p -0.7 | aplay -q

## отрицательный ответ о записи диска:
        ;;
## 3
    n|N) echo -en "\033[32m Ввели «n», Запись отменена! \033[40m" ; echo "";
    echo "";
        exit 0
        ;;
    *) echo -en "\E[0m Ничего не ввели. Выполняем действие по умолчанию... \E[0m"; echo "";
        exit 0
        ;;
esac
#
        ;;
## 2
    n|N) echo -en "\033[32m Ввели «n», завершаем работу скрипта... \033[40m"; echo "";
    echo "";
        exit 0
        ;;
    *) echo -en "\E[0m Ничего не ввели. Выполняем действие по умолчанию... \E[0m"; echo "";
        exit 0
        ;;
esac
#
        ;;
## 1
    n|N) echo -en "\033[32m Ввели «n», завершаем работу скрипта... \033[40m"; echo "";
    echo "";
        exit 0
        ;;
    *) echo -en "\E[0m Ничего не ввели. Выполняем действие по умолчанию... \E[0m"; echo "";
        exit 0
        ;;
esac

echo -en "\E[0m"
date >> /home/$USER/.backup/log_burn_br.txt
echo " исходного образа:" >> /home/$USER/.backup/log_burn_br.txt
md5sum /home/$USER/.$DAT.udf >> /home/$USER/.backup/log_burn_br.txt
echo " на носителе:" >> /home/$USER/.backup/log_burn_br.txt
blocks=$(expr $(du -b /home/$USER/.$DAT.udf | awk '{print $1}') / 2048)
dd if=''/dev/sr0'' bs=2048 count=$blocks | md5sum >> /home/$USER/.backup/log_burn_br.txt
echo " _______________________________________________________________________" >> /home/$USER/.backup/log_burn_br.txt
cat /home/$USER/.backup/log_burn_br.txt | tail -n 7
echo "";
##
IMG=$(cat /home/$USER/.backup/log_burn_br.txt | tail -n 7 | awk '{print $1}' | sed '1,3d' | sed -e '2d' | sed -e '1!d')
##
SR=$(cat /home/$USER/.backup/log_burn_br.txt | tail -n 7 | awk '{print $1}' | sed '1,3d' | sed -e '2d' | sed -e '2!d')
##
if [ $IMG = $SR ]
then
#     echo " `cat /home/$USER/.backup/log_burn_br.txt | tail -n 7 | sed -e '2!d'`"
#     echo "";
    echo -en "\033[32m Запись выполнена успешно \033[40m"
    echo -en "\E[0m"; echo "";
## завершение контрольного времени и подсчет в секундах ( что не возможно)
## выдаст значенияя в минутах, с округлением до челого числа:
    TIME2=$(date +"%s")
    TIME=$(($TIME1 - $TIME2))
    TIME0=$(echo "$TIME" | sed 's/^.//')
    if [ "$TIME0" -lt "60" ];
        then echo "$TIME0 секунд" #YES
        else
            X=$(( TIME0 / 60 ));
            echo " весь цикл записи выполнен за $X минут"
            mpg321 -g 100 /home/$USER/.backup/.torcs1.mp3 -q
            sleep 2
            echo "весь цикл записи выполнен за $X минут" | RHVoice-client -s Anna+CLB -r -0.1 -p -0.7 | aplay -q
            echo "диск можно извлечь" | RHVoice-client -s Anna+CLB -r -0.1 -p -0.7 | aplay -q
    fi
else echo -en "\033[37;1;41m ОШИБКА ПРИ ЗАПИСИ!!! ДИСК В УТИЛЬ!!! \033[0m"; echo "";
     mpg321 -g 100 /home/$USER/.backup/.torcs1.mp3 -q
     sleep 2
     mpg321 -g 100 /home/$USER/.backup/.torcs1.mp3 -q
     sleep 3
     echo "Ошибка при записи! диск выкинуть" | RHVoice-client -s Anna+CLB -r -0.1 -p -0.7 | aplay -q
fi
echo "";

gnuplot температура CPU

#!/bin/bash

FILE="/tmp/sys_temp_gnuplot_h"
echo " проверка файла..."
if [ -f $FILE ]; then
echo " файл найден..." # файл есть
MAX=(62)
TMP=`cat /tmp/sys_temp_gnuplot_h | wc -l`
echo " $TMP"
if [ $TMP -ge $MAX ]; then
echo " файл 62 и более строк!" # в файле 23 и более строк
truncate -s 0 /tmp/sys_temp_gnuplot_h
echo "`date +%d-%m` `date +%H:%M` `/usr/bin/sensors | grep -E 'Physical id 0*' | awk {'print $4'} | cut -c 2-3`" >> /tmp/sys_temp_gnuplot_h
# # # # # # # # # # #
gnuplot << EOP

datafile = "/tmp/sys_temp_gnuplot_h"
set terminal jpeg font arial 14 size 1600,1200
set output "/var/www/html/sys_temp_cpu_h.jpg"
set tics out scale 0.5
set ytics 1.0 border rangelimited mirror
set y2tics 1.0 border nomirror
set border 3
set xrange [:]
set yrange [34:70]
set ylabel "Температура (C)"
set timefmt "%d-%m %H:%M"
set xdata time
set style line 1 lc rgb 'red' lt 2 lw 2
set style data histogram
set style histogram cluster gap 1
set style fill pattern border -1
set xtics rotate by 0 rangelimited 1*300
set mxtics 3 #a small tic every five minute
set format x "%d-%m\n%H:%M" #set format x was needed to format the x axis as hh:mm, not hh:mm:ss
set grid x y y2 layerdefault linecolor rgb "gray" linewidth 4.0 dashtype solid, linecolor rgb "gray" linewidth 4.0 dashtype "."
set title "Температура(C) CPU Час" font "Times-Roman,35"
plot datafile using 1:3 title 'Температура CPU' with lines lw 4 lt rgb "red"

EOP
# # # # # # # # # # #
else
echo " файл менее 62 строк" # в файле менее 23 строк
echo "`date +%d-%m` `date +%H:%M` `/usr/bin/sensors | grep -E 'Physical id 0*' | awk {'print $4'} | cut -c 2-3`" >> /tmp/sys_temp_gnuplot_h
FILE1="/tmp/sys_temp_gnuplot_h"
echo " проверка файла..."
if [ -f $FILE1 ]; then
# файл есть
MAX=(61)
TMP1=`cat /tmp/sys_temp_gnuplot_h | wc -l`
echo " $TMP1"
if [ $TMP -ge $MAX ]; then
# более 60
echo " удаляется 1-я строчка..."
sed -i '1d' /tmp/sys_temp_gnuplot_h
fi
fi

# # # # # # # # # # #
gnuplot << EOP

datafile = "/tmp/sys_temp_gnuplot_h"
set terminal jpeg font arial 14 size 1600,1200
set output "/var/www/html/sys_temp_cpu_h.jpg"
set tics out scale 0.5
set ytics 1.0 border rangelimited mirror
set y2tics 1.0 border nomirror
set border 3
set xrange [:]
set yrange [34:70]
set ylabel "Температура (C)"
set timefmt "%d-%m %H:%M"
set xdata time
set style line 1 lc rgb 'red' lt 2 lw 2
set style data histogram
set style histogram cluster gap 1
set style fill pattern border -1
set xtics rotate by 0 rangelimited 1*300 # 1*3600
set mxtics 3 #a small tic every five minute
set format x "%d-%m\n%H:%M" #set format x was needed to format the x axis as hh:mm, not hh:mm:ss
set grid x y y2 layerdefault linecolor rgb "gray" linewidth 4.0 dashtype solid, linecolor rgb "gray" linewidth 4.0 dashtype "."
set title "Температура(C) CPU Час" font "Times-Roman,35"
plot datafile using 1:3 title 'Температура CPU' with lines lw 4 lt rgb "red"

EOP
# # # # # # #
fi
else
echo " файл не найден!!!" # файла нет
echo "`date +%d-%m` `date +%H:%M` `/usr/bin/sensors | grep -E 'Physical id 0*' | awk {'print $4'} | cut -c 2-3`" >> /tmp/sys_temp_gnuplot_h
# # # # # # # # # # #
gnuplot << EOP

datafile = "/tmp/sys_temp_gnuplot_h"
set terminal jpeg font arial 14 size 1600,1200
set output "/var/www/html/sys_temp_cpu_h.jpg"
set tics out scale 0.5
set ytics 1.0 border rangelimited mirror
set y2tics 1.0 border nomirror
set border 3
set xrange [:]
set yrange [34:70]
set ylabel "Температура (C)"
set timefmt "%d-%m %H:%M"
set xdata time
set style line 1 lc rgb 'red' lt 2 lw 2
set style data histogram
set style histogram cluster gap 1
set style fill pattern border -1
set xtics rotate by 0 rangelimited 1*300
set mxtics 3 #a small tic every five minute
set format x "%d-%m\n%H:%M" #set format x was needed to format the x axis as hh:mm, not hh:mm:ss
set grid x y y2 layerdefault linecolor rgb "gray" linewidth 4.0 dashtype solid, linecolor rgb "gray" linewidth 4.0 dashtype "."
set title "Температура(C) CPU Час" font "Times-Roman,35"
plot datafile using 1:3 title 'Температура CPU' with lines lw 4 lt rgb "red"

EOP
# # # # # # #
fi

gnuplot Load CPU bash

#!/bin/bash

FILE="/tmp/sys_load_cpu_gnuplot_h"
echo " проверка файла..."
if [ -f $FILE ]; then
echo " файл найден..." # файл есть
MAX=(62)
TMP=`cat /tmp/sys_load_cpu_gnuplot_h | wc -l`
echo " $TMP"
if [ $TMP -ge $MAX ]; then
echo " файл 62 и более строк!" # в файле 23 и более строк
truncate -s 0 /tmp/sys_load_cpu_gnuplot_h
echo "`date +%d-%m` `date +%H:%M` `awk '{print $2}' /proc/loadavg`" >> /tmp/sys_load_cpu_gnuplot_h
# # # # # # # # # # #
gnuplot << EOP

datafile = "/tmp/sys_load_cpu_gnuplot_h"
set terminal jpeg font arial 14 size 1600,1200
set output "/var/www/html/sys_load_cpu_h.jpg"
set ytics 0.05 border rangelimited mirror
set y2tics 0.05 border nomirror
set border 3
set yrange [0:*]
set ylabel "Load CPU"
set timefmt "%d-%m %H:%M"
set xdata time
set style line 1 lc rgb 'red' lt 2 lw 2
set style data histogram
set style histogram cluster gap 1
set style fill pattern border -1
set xtics rotate by 0 rangelimited 1*300 # 1*3600
set mxtics 3 #a small tic every five minute
set format x "%d-%m\n%H:%M" #set format x was needed to format the x axis as hh:mm, not hh:mm:ss
set grid x y y2 layerdefault linecolor rgb "gray" linewidth 4.0 dashtype solid, linecolor rgb "gray" linewidth 4.0 dashtype "."
set title "Load CPU (H)" font "Times-Roman,35"
plot datafile using 1:3 title 'Load CPU (H)' with lines lw 4 lt rgb "red"

EOP
# # # # # # # # # # #
else
echo " файл менее 62 строк" # в файле менее 23 строк
echo "`date +%d-%m` `date +%H:%M` `awk '{print $2}' /proc/loadavg`" >> /tmp/sys_load_cpu_gnuplot_h
FILE1="/tmp/sys_load_cpu_gnuplot_h"
echo " проверка файла..."
if [ -f $FILE1 ]; then
# файл есть
MAX=(62)
TMP1=`cat /tmp/sys_load_cpu_gnuplot_h | wc -l`
echo " $TMP1"
if [ $TMP -ge $MAX ]; then
# более 60
echo " удаляется 1-я строчка..."
sed -i '1d' /tmp/sys_load_cpu_gnuplot_h
fi
fi

# # # # # # # # # # #
gnuplot << EOP

datafile = "/tmp/sys_load_cpu_gnuplot_h"
set terminal jpeg font arial 14 size 1600,1200
set output "/var/www/html/sys_load_cpu_h.jpg"
set ytics 0.05 border rangelimited mirror
set y2tics 0.05 border nomirror
set border 3
set yrange [0:*]
set ylabel "Load CPU"
set timefmt "%d-%m %H:%M"
set xdata time
set style line 1 lc rgb 'red' lt 2 lw 2
set style data histogram
set style histogram cluster gap 1
set style fill pattern border -1
set xtics rotate by 0 rangelimited 1*300 # 1*3600
set mxtics 3 #a small tic every five minute
set format x "%d-%m\n%H:%M" #set format x was needed to format the x axis as hh:mm, not hh:mm:ss
set grid x y y2 layerdefault linecolor rgb "gray" linewidth 4.0 dashtype solid, linecolor rgb "gray" linewidth 4.0 dashtype "."
set title "Load CPU (H)" font "Times-Roman,35"
plot datafile using 1:3 title 'Load CPU (H)' with lines lw 4 lt rgb "red"

EOP
# # # # # # #
fi
else
echo " файл не найден!!!" # файла нет
echo "`date +%d-%m` `date +%H:%M` `awk '{print $2}' /proc/loadavg`" >> /tmp/sys_load_cpu_gnuplot_h
# # # # # # # # # # #
gnuplot << EOP

datafile = "/tmp/sys_load_cpu_gnuplot_h"
set terminal jpeg font arial 14 size 1600,1200
set output "/var/www/html/sys_load_cpu_h.jpg"
set ytics 0.05 border rangelimited mirror
set y2tics 0.05 border nomirror
set border 3
set yrange [0:*]
set ylabel "Load CPU"
set timefmt "%d-%m %H:%M"
set xdata time
set style line 1 lc rgb 'red' lt 2 lw 2
set style data histogram
set style histogram cluster gap 1
set style fill pattern border -1
set xtics rotate by 0 rangelimited 1*300 # 1*3600
set mxtics 3 #a small tic every five minute
set format x "%d-%m\n%H:%M" #set format x was needed to format the x axis as hh:mm, not hh:mm:ss
set grid x y y2 layerdefault linecolor rgb "gray" linewidth 4.0 dashtype solid, linecolor rgb "gray" linewidth 4.0 dashtype "."
set title "Load CPU (H)" font "Times-Roman,35"
plot datafile using 1:3 title 'Load CPU (H)' with lines lw 4 lt rgb "red"

EOP
# # # # # # #
fi

dialog yes|no

#!/bin/bash
DIALOG=${DIALOG=dialog}

$DIALOG --title " Мой первый диалог" --clear \
--yesno "Выполнить скрипт dialog1.sh ?" 10 40

case $? in
0)
# выполнить скрипт
/sh/dialog2.sh
;;
1)
echo "Выбрано 'Нет'.";;
255)
echo "Нажата клавиша ESC.";;
esac

dialog menu

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

$DIALOG --backtitle "Выбрать значение" \
--title "Выбрать число" --clear \
--radiolist "выбрать число " 30 71 15 \
"Edit" "nano" ON \
"Log" "size log" off \
"Allow" "3" off \
"Root" "4" off \
"User" "5" off \
"Name" "6" off 2> $tempfile

retval=$?

choice=`cat $tempfile`
case $retval in
0)
if [ "$choice" = Edit ]; then
echo "Выбрано: Edit"
sleep 1
nano
fi
if [ "$choice" = Log ]; then
echo "Выбрано: Log"
sleep 1
du -sh /var/log/
fi
if [ "$choice" = Allow ]; then
echo "Выбрано: Allow"
fi
if [ "$choice" = Root ]; then
echo "Выбрано: Root"
fi
if [ "$choice" = User ]; then
echo "Выбрано: User"
fi
if [ "$choice" = Name ]; then
echo "Выбрано: Name"
fi

cat $tempfile;
echo "";
;;
1)
echo "Отказ от ввода.";;
255)
echo "Нажата клавиша ESC.";;
esac

суббота, 14 января 2017 г.

lm-sensors не видит обороты кулера

sudo apt-get install lm-sensors

sensors
__________________________________________________________________________
 acpitz-virtual-0
Adapter: Virtual device
temp1:        +27.8°C  (crit = +119.0°C)
temp2:        +29.8°C  (crit = +119.0°C)

coretemp-isa-0000
Adapter: ISA adapter
Physical id 0:  +27.0°C  (high = +80.0°C, crit = +100.0°C)
Core 0:         +25.0°C  (high = +80.0°C, crit = +100.0°C)
Core 1:         +25.0°C  (high = +80.0°C, crit = +100.0°C)
Core 2:         +25.0°C  (high = +80.0°C, crit = +100.0°C)
Core 3:         +23.0°C  (high = +80.0°C, crit = +100.0°C)

asus-isa-0000
Adapter: ISA adapter
cpu_fan:        0 RPM
_____________________________________________________________________________

Чтобы получить больше данных:
sudo modprobe nct6775
запрашиваем снова:
_____________________________________________________________________________
sensors
acpitz-virtual-0
Adapter: Virtual device
temp1:        +27.8°C  (crit = +119.0°C)
temp2:        +29.8°C  (crit = +119.0°C)

coretemp-isa-0000
Adapter: ISA adapter
Physical id 0:  +27.0°C  (high = +80.0°C, crit = +100.0°C)
Core 0:         +25.0°C  (high = +80.0°C, crit = +100.0°C)
Core 1:         +24.0°C  (high = +80.0°C, crit = +100.0°C)
Core 2:         +24.0°C  (high = +80.0°C, crit = +100.0°C)
Core 3:         +24.0°C  (high = +80.0°C, crit = +100.0°C)

asus-isa-0000
Adapter: ISA adapter
cpu_fan:        0 RPM

nct6793-isa-0290
Adapter: ISA adapter
in0:                       +0.38 V  (min =  +0.00 V, max =  +1.74 V)
in1:                       +1.02 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in2:                       +3.39 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in3:                       +3.36 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in4:                       +1.02 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in5:                       +0.14 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in6:                       +0.84 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in7:                       +3.38 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in8:                       +3.22 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in9:                       +1.00 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in10:                      +1.21 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in11:                      +1.06 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in12:                      +1.00 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in13:                      +0.96 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in14:                      +0.26 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
fan1:                     1183 RPM  (min =    0 RPM)
fan2:                      890 RPM  (min =    0 RPM)
fan3:                     1015 RPM  (min =    0 RPM)
fan4:                      613 RPM  (min =    0 RPM)
fan5:                        0 RPM  (min =    0 RPM)
fan6:                        0 RPM
SYSTIN:                    +32.0°C  (high = +98.0°C, hyst = +95.0°C)  sensor = thermistor
CPUTIN:                    +30.0°C  (high = +80.0°C, hyst = +75.0°C)  sensor = thermistor
AUXTIN0:                   +35.0°C    sensor = thermistor
AUXTIN1:                   +15.0°C    sensor = thermistor
AUXTIN2:                   +22.0°C    sensor = thermistor
AUXTIN3:                  +127.0°C    sensor = thermistor
PECI Agent 0:              +26.0°C  (high = +98.0°C, hyst = +95.0°C)
                                    (crit = +100.0°C)
PECI Agent 0 Calibration:  +31.5°C 
PCH_CHIP_CPU_MAX_TEMP:      +0.0°C 
PCH_CHIP_TEMP:              +0.0°C 
intrusion0:               ALARM
intrusion1:               ALARM
beep_enable:              disabled

_____________________________________________________________________________

воскресенье, 1 января 2017 г.

погода в терминале linux

#!/bin/bash
# Санкт-Петербург
#URL='http://www.accuweather.com/ru/ru/saint-petersburg/295212/weather-forecast/295212'
# Братск
#URL='http://www.accuweather.com/ru/ru/-/288008/weather-forecast/288008'
# Ростов на Дону
URL='http://www.accuweather.com/ru/ru/rostov-on-don/295146/weather-forecast/295146'

wget -q -O- "$URL" > /tmp/pogoda

TEMP=$(cat /tmp/pogoda | grep "large-temp" | tail -n 1 | sed 's/^..................................................................//' | sed 's/.............$//')
GORO=$(cat /tmp/pogoda | grep "current-city" | grep "span" | sed 's/^...................................................................//' | sed 's/.....................$//')
OSAD=$(cat /tmp/pogoda | grep "span class" | grep "cond" | head -n 1 | sed 's/^...........................................................//' | sed 's/........$//')

echo " $GORO $TEMP $OSAD"

h265.sh

#!/bin/bash file="../mp4" if [ -d $file ]; then         echo "  Директория существует :-) "         for i in *.mp4; do f...