#!/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 "";
Показаны сообщения с ярлыком linux. Показать все сообщения
Показаны сообщения с ярлыком linux. Показать все сообщения
понедельник, 30 января 2017 г.
воскресенье, 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"
воскресенье, 10 апреля 2016 г.
xbmc media server + debian
Конфигурация:
- Gigabyte GA-C1037UN-EU (MiniITX,HDMI,SATA3,Celeron 1.8, 2 ядра)
- Crucial DIMM DDR3 2Gb 1600
- TP-LINK TL-WN851ND pci wi-fi b,g,n
- FSB ATX-300PNR 300W
- USB Bluetooth v4.0 Hama (вывод звука сейчас автоматически на наушники)
Выставленные параметры позволяют работать на слабом железе:
В BIOS выставил 256 мегабайт под видео, из 2-х гигов.
Обязательно выставить виртуализацию - иначе тормоза!
Отключить кнопку "переключение окно-полный экран":
Статистика:
Образ системы. Нужна флешка 8 гигов.
sudo dd if=XBMC.img of=/dev/sdX bs=4096
XBMC.img
суббота, 12 марта 2016 г.
linux + a2dp = auto connect
шаблон скрипта. осталось собрать рабочую версию))
#!/bin/bash
# отзовется, если есть подключение к наушникам:
# hcitool con | grep -oE "30:23:FF:FD:FF:FF"
#
# отзовется, если найдены наушники:
# hcitool name 30:23:FF:FD:FF:FF
# подключиться к наушникам:
# { sleep 1 && echo -e 'connect 30:23:FF:FD:FF:FF \n' && sleep 1;} | bluetoothctl
# sleep 2
# потвердить подключение:
# { sleep 1 && echo -e 'info 30:23:FF:FD:FF:FF \n' && sleep 1;} | bluetoothctl | grep -E 'Connected:'
#!/bin/bash
# отзовется, если есть подключение к наушникам:
# hcitool con | grep -oE "30:23:FF:FD:FF:FF"
#
# отзовется, если найдены наушники:
# hcitool name 30:23:FF:FD:FF:FF
# подключиться к наушникам:
# { sleep 1 && echo -e 'connect 30:23:FF:FD:FF:FF \n' && sleep 1;} | bluetoothctl
# sleep 2
# потвердить подключение:
# { sleep 1 && echo -e 'info 30:23:FF:FD:FF:FF \n' && sleep 1;} | bluetoothctl | grep -E 'Connected:'
понедельник, 7 марта 2016 г.
Asus x200ma включить bluetooth в Linux
https://yadi.sk/d/hk-GY_xIpxMVQ
firmware-athero s_0.36+wheezy.1 ~bpo60
# sudo rfkill list
# sudo hcitool dev
Случайно включил Синий Зуб в ноутбуке - целый год без него жил. Но вот чтобы заработал встроенный адаптер, в usb втыкал внешний - странно, но запустился и родной. Логику "колдовства" не понял))
firmware-athero
# sudo rfkill list
# sudo hcitool dev
Случайно включил Синий Зуб в ноутбуке - целый год без него жил. Но вот чтобы заработал встроенный адаптер, в usb втыкал внешний - странно, но запустился и родной. Логику "колдовства" не понял))
понедельник, 19 января 2015 г.
Отключить Wi-Fi при подключенном LTE модеме Linux
Итак, мне не нравиться руками переключать Wi-Fi и модем. Тут я вспомнил о UDEV, но ранее не имел опыта с этим инстументом. Спасибо поисковым сервисам. Итак:
суббота, 20 октября 2012 г.
Скрипт для простого поиска изображений и копирования их
Принесли мне несколько дней назад компьютер и ноутбук. Оба устройства были изрядно побиты вирусами и потому не желая особенно возиться лечением, приступил к копированию необходимых файлов. Естественно загрузился с LiveCD с ubuntu. Ясное дело, что за несколько лет использования линукс, уже не одну команду на память введу)) Так что на ходу пришло в голову не использовать подобную бредятину:
find /home/DISK1 -name *.jpg -type f -size +50k -exec cp {} /home/DISK2 \;
Поняв простую вещь, что в ручную перебирать расширения графических файлов утомительно,
Подписаться на:
Сообщения (Atom)
h265.sh
#!/bin/bash file="../mp4" if [ -d $file ]; then echo " Директория существует :-) " for i in *.mp4; do f...
-
30 мая воплотилась в жизнь давняя мечта -- покататься на лодке. Плюс к тому в тот же день я попробовал свои силы в тире. Не разочаровался в ...
-
На этой странице (UTF-8) информация полученная при помощи программ nmap и whois. Надо ведь знать, кто ломиться в мой комп! А может и ваш...











