#!/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 "";
Подписаться на:
Комментарии к сообщению (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 ...
Комментариев нет:
Отправить комментарий