#!/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 "";
понедельник, 30 января 2017 г.
погода ветер
#!/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
# 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
# Санкт-Петербург
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
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
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
#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"
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"
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/
#
# 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
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
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
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
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
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
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 "";
## контрольное время начало скрипта:
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
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
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=${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
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
_____________________________________________________________________________
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"
# Санкт-Петербург
#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"
Подписаться на:
Сообщения (Atom)
h265.sh
#!/bin/bash file="../mp4" if [ -d $file ]; then echo " Директория существует :-) " for i in *.mp4; do f...
-
30 мая воплотилась в жизнь давняя мечта -- покататься на лодке. Плюс к тому в тот же день я попробовал свои силы в тире. Не разочаровался в ...
-
подпроцесс новый сценарий post-removal возвратил код ошибки 1 ls /var/lib/dpkg/info | grep "mail.ru-cloud" mail.ru-cloud.list ...