Автоматическое копирование на флешку

Как правильно задавать вопросы Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа. Общая рекомендация по составлению тем: 1. Для начала воспользуйтесь поиском форума. 2. Укажите версию ОС вместе с разрядностью. Пример: LM 19.3 x64, LM Sarah x32 3. DE. Если вопрос касается двух, то через запятую. (xfce, KDE, cinnamon, mate) 4. Какое железо. (достаточно вывод inxi -Fxz в спойлере (как пользоваться спойлером смотрим здесь)) или же дать ссылку на hw-probe 5. Суть. Желательно с выводом консоли, логами. 6. Скрин. Просьба указывать 2, 3 и 4 независимо от того, имеет ли это отношение к вопросу или нет. Так же не забываем об общих правилах Как пример вот
no avatar

Автор темы
abulaev2008
Сообщения: 514
Зарегистрирован: 18 ноя 2017, 21:36
Решено: 3
Благодарил (а): 24 раза
Поблагодарили: 70 раз
Контактная информация:

Автоматическое копирование на флешку

#21

02 мар 2018, 18:55

Сделал скрипт для копирования:
#!/bin/bash

SRC=/home/andrey/.../ #Откуда
DRS=/media/andrey/6623-39A3/Архив/ #Куда

size="$(du -sh $SRC)" # Подсчет размера источника
copy="$(du -sh $DRC)" # Подсчет размера назначения

(cp -pru $SRC $DRS &

while [$copy -lt $size]
do
percentages="$(echo "$copy/$size*100" | bc)" # Процент для копирования
copy="$(du -sh $DRC)"
sleep 1
echo "#Скопировано $copy. Всего: $size."
echo $percentages
done) | zenity --progress --title='Скрипт usb-copy-script' --text="Копирую..." --percentage=0 --auto-close

zenity --info --width=300 height--200 --title="Копирование закончено" --text="Копирование закончено. $SRC на флешке"
Zenity прогресс не движется, почему не пойму. Остальное все копирует и zenity --info по окончании копирования срабатывает.
Из-за чего?

Аватара пользователя

colonel
Сообщения: 1851
Зарегистрирован: 18 дек 2016, 12:08
Решено: 21
Откуда: Хартленд, N
Благодарил (а): 43 раза
Поблагодарили: 498 раз
Контактная информация:

Автоматическое копирование на флешку

#22

02 мар 2018, 19:04

abulaev2008 писал(а):
02 мар 2018, 18:55
Из-за чего?

имхо , не в ту строку скрипта поставили

Код: Выделить всё

 ....   | zenity --progress --title='Скрипт usb-....  бла-бла-бла ..... 
"Не ты выбираешь Linux, а Linux выбирает тебя"
(с)Себастьян Перейра, торговец чёрным деревом

no avatar

Автор темы
abulaev2008
Сообщения: 514
Зарегистрирован: 18 ноя 2017, 21:36
Решено: 3
Благодарил (а): 24 раза
Поблагодарили: 70 раз
Контактная информация:

Автоматическое копирование на флешку

#23

02 мар 2018, 19:42

colonel,
Как расплывчато. Да понимаю, что-то не то.
И так тоже вроде не логично:
.
...
...
echo $percentages
| zenity --progress --title='Скрипт usb-copy-script' --text="Копирую..." --percentage=0 --auto-close
done


спасибо за ответ. Да, от тебя colonel, конкретнее не ждал.

Аватара пользователя

Chocobo
Сообщения: 10015
Зарегистрирован: 27 авг 2016, 22:57
Решено: 215
Откуда: НН
Благодарил (а): 815 раз
Поблагодарили: 3010 раз
Контактная информация:

Автоматическое копирование на флешку

#24

02 мар 2018, 19:54

Код: Выделить всё

chocobo@desktop ~ $ copy=2
chocobo@desktop ~ $ size=12
chocobo@desktop ~ $ echo "$copy/$size*100" | bc
0
chocobo@desktop ~ $ copy=6
chocobo@desktop ~ $ size=100
chocobo@desktop ~ $ echo "$copy/$size*100" | bc
0
Изображение
   
Изображение

Аватара пользователя

Chocobo
Сообщения: 10015
Зарегистрирован: 27 авг 2016, 22:57
Решено: 215
Откуда: НН
Благодарил (а): 815 раз
Поблагодарили: 3010 раз
Контактная информация:

Автоматическое копирование на флешку

#25

02 мар 2018, 20:11

abulaev2008, используй percentages=$((100*$copy/$size))
Изображение
   
Изображение

Аватара пользователя

colonel
Сообщения: 1851
Зарегистрирован: 18 дек 2016, 12:08
Решено: 21
Откуда: Хартленд, N
Благодарил (а): 43 раза
Поблагодарили: 498 раз
Контактная информация:

Автоматическое копирование на флешку

#26

02 мар 2018, 20:16

abulaev2008 писал(а):
02 мар 2018, 19:42
Как расплывчато. Да понимаю, что-то не то.
понимать что что-то не так - вот это расплывчато , а то что не в той строке , вроде как более конкретизировано ....
abulaev2008 писал(а):
02 мар 2018, 19:42
И так тоже вроде не логично:....

имхо, не логично

собсно, если не так важен показ % скопрированного (кстати непонятно где он у вас должен отражаться по echo "#Скопировано $copy. Всего: $size." и echo $percentages ) то можно просто сделать прогресс бар с бегунком (пульсате) и пока идёт процесс копирования будете наблюдать бегающий ползунок , а по окончании копирования - вывод другого окна зенити с сообщением конца операции. Пример такого решения можете посмотреть в теме Многостраничный PDF из набора JPG

если не устраивает " бегунок" ищите как вкатить в бар зенити показ по процентам выполненного копирования ...
"Не ты выбираешь Linux, а Linux выбирает тебя"
(с)Себастьян Перейра, торговец чёрным деревом

no avatar

Автор темы
abulaev2008
Сообщения: 514
Зарегистрирован: 18 ноя 2017, 21:36
Решено: 3
Благодарил (а): 24 раза
Поблагодарили: 70 раз
Контактная информация:

Автоматическое копирование на флешку

#27

02 мар 2018, 20:49

colonel, видел этот ссылку пдф, не понял; Литературы ект, а экранами, чтоб подсматривать, окружится не могу.

Chocobo, Не правильно проценты считаю? или bc округляет до целого?
У меня есть еще вопросов по системд.

Аватара пользователя

Chocobo
Сообщения: 10015
Зарегистрирован: 27 авг 2016, 22:57
Решено: 215
Откуда: НН
Благодарил (а): 815 раз
Поблагодарили: 3010 раз
Контактная информация:

Автоматическое копирование на флешку

#28

02 мар 2018, 21:23

abulaev2008 писал(а):
02 мар 2018, 20:49
Не правильно проценты считаю?
смотри #24 - при любых входящих значениях твоя конструкция возвращает 0
abulaev2008 писал(а):
02 мар 2018, 20:49
У меня есть еще вопросов по системд.
В рамках отдельного топика)
Изображение
   
Изображение

no avatar

Автор темы
abulaev2008
Сообщения: 514
Зарегистрирован: 18 ноя 2017, 21:36
Решено: 3
Благодарил (а): 24 раза
Поблагодарили: 70 раз
Контактная информация:

Автоматическое копирование на флешку

#29

02 мар 2018, 21:39

Chocobo писал(а):
02 мар 2018, 21:23
В рамках отдельного топика)
Вопросы по автокопированию на USB

no avatar

Автор темы
abulaev2008
Сообщения: 514
Зарегистрирован: 18 ноя 2017, 21:36
Решено: 3
Благодарил (а): 24 раза
Поблагодарили: 70 раз
Контактная информация:

Автоматическое копирование на флешку

#30

04 мар 2018, 13:03

colonel, вставил --pulsate,
#!/bin/bash

SRC=/..../ #Откуда
DRS=/..../ #Куда

zenity --question --title="Продолжим?" --text="Вы желаете скопировать $SRC?" --ok-label="Да" --cancel-label="Нет"
if [ $? = 0 ] ; then
(
size="$(du -sb $SRC)" #Подсчет размера источника
copy="$(du -sb $DRC)" #Подсчет размера назначения

(cp -pru $SRC $DRS &

while [ "$copy" -lt "$size" ]
do
percentages="$(("100*$copy/$size") | bc)" # Процент для копирования
copy="$(du -sb $DRC | awk '{print $1}')"

echo $percentages
sleep 1
done) | zenity --progress --pulsate --title='Скрипт usb-copy-script' --text="Выполняется копирование $SRC..." --auto-close

zenity --info --width=300 height--200 --title="Копирование закончено" --text="Все на месте $DRS"

)
else
fi
Но так и не соображу почему --прогресс не заполняется? Есть подсказки?

Аватара пользователя

colonel
Сообщения: 1851
Зарегистрирован: 18 дек 2016, 12:08
Решено: 21
Откуда: Хартленд, N
Благодарил (а): 43 раза
Поблагодарили: 498 раз
Контактная информация:

Автоматическое копирование на флешку

#31

04 мар 2018, 17:38

abulaev2008 писал(а):
04 мар 2018, 13:03
Есть подсказки?
так они были уже озвучены
abulaev2008 писал(а):
04 мар 2018, 13:03
Но так и не соображу почему --прогресс не заполняется?
а чем он должен заполняться?
с пульсате пока выполняется задание просто бегунок туда-сюда бегает в "полоске" прогресс-бара
abulaev2008 писал(а):
02 мар 2018, 20:49
видел этот ссылку пдф, не понял; Литературы ект, а экранами, чтоб подсматривать, окружится не могу.
я не спрашивал видели вы эту ссылку (тему) или не видели, а сказал что там вы можете найти пример как в скрипте реализован прогресс-бар (там он с пульсате)
не пойму чего сложного было в том чтобы зайти на ту тему и скачать на первой странице маленький текстовый файлик скрипта что бы посмотреть где и как вписан зенити...
вот вам фрагмент того скриптика

....
#Создание временного каталога и сборка конечного файла из его содержимого
mkdir Сконвертированное ;
convert *.* -resize $res% -quality $qua ./Сконвертированное/j.$gf|zenity --progress --width 250 --title='Конвертирование изображений'$gf --pulsate --auto-close; convert ./Сконвертированное/j*.* Result_$(date +%d--%m-%y-%R).pdf |zenity --progress --width 250 --title='Идёт сборка PDF' --pulsate --auto-close;

#Удаление временного каталога с предконвертированными изображениями
rm -r Сконвертированное|zenity --warning --width 350 --timeout=10 --title=" " \
--text="Конвертация в PDF завершена\n\Конечный файл Result_(текущее дата_время) в каталоге -\n\$direc"
.....
я так понял , что у автора темы всё работает
вот вам ещё для примера фрагмент немного другой версии скрипта
convert ./Convert_tmp/j*.* "$out"--$(date +%d.%m.%y--%R).pdf|zenity --progress --width 350 --title='Идёт сборка PDF' --pulsate --auto-close;
if [ "$?" = 1 ]
then
zenity --info --timeout=7 --title="Отмена операции" \
--text="Операция конвертации отменена пользоватем"
exit
fi

rm -r Convert_tmp|zenity --warning --width 500 --height 200 --timeout=30 --title=" " \
--text="Конвертация в PDF завершена \n\n\n\ в каталоге $direct \n\n\ Создан файл PDF - $out +текущие дата-время";
или вот ещё один фрагмент с зенити из скриптика для склейки небольших видеоклипов
# Объединение $number mpg в один файл
exec xterm -T "Log webrec" -e ffmpeg -i concat:"$allfiles" -c copy intermedi_all.mpg|zenity --progress --width 350 --title=" $number MPG сливаются в intermedi_all.mpg " --pulsate --auto-close;
cd .. ; mv -fi ./Convert_mpg/intermedi_all.mpg intermedi_all.mpg; rm -r Convert_mpg;

#Конвертация mpg2avi исходный каталог из /Convert_mpg
#datapdf="`date +%d-%m-%y_%H-%M-%S`";
datapdf="-$(date +%d.%m.%y--%R)";
output=$out-$datapdf;
exec xterm -T "Log webrec" -e ffmpeg -i intermedi_all.mpg -qscale:v 2 "$output".avi|zenity --progress --width 350 --title="Конвертация intermedi_all.mpg в AVI" --pulsate --auto-close;

rm -r intermedi_all.mpg;

echo|zenity --warning --width 500 --timeout=30 --title=" " \
--text=" Слияние файлов в каталоге \n\$direc \n\n\ ЗАВЕРШЕНО \n\n\создан объединённый файл AVI - $output "

это всё мои рабочие скрипты и прогресс бар в них замечательно пульсирует пока выполняется задание (то которое непосредственно перед " |zenity....."
"Не ты выбираешь Linux, а Linux выбирает тебя"
(с)Себастьян Перейра, торговец чёрным деревом

no avatar

Автор темы
abulaev2008
Сообщения: 514
Зарегистрирован: 18 ноя 2017, 21:36
Решено: 3
Благодарил (а): 24 раза
Поблагодарили: 70 раз
Контактная информация:

Автоматическое копирование на флешку

#32

05 мар 2018, 07:51

colonel писал(а):
04 мар 2018, 17:38
прогресс бар в них замечательно пульсирует
так и у меня прогресс бар пульсирует.
Вопрос: почему не заполняется прогресс без --пульсате

Аватара пользователя

colonel
Сообщения: 1851
Зарегистрирован: 18 дек 2016, 12:08
Решено: 21
Откуда: Хартленд, N
Благодарил (а): 43 раза
Поблагодарили: 498 раз
Контактная информация:

Автоматическое копирование на флешку

#33

05 мар 2018, 08:08

abulaev2008 писал(а):
05 мар 2018, 07:51
так и у меня прогресс бар пульсирует.
в #30 не сказано что работает , написано что вставили пульсате ... и всё равно не заполняется.
Sc1.png

abulaev2008 писал(а):
05 мар 2018, 07:51
Вопрос: почему не заполняется прогресс без --пульсате

вот ещё пример из инета без пульсате

Пример. Сканируем тучи документов и выполняем обработку изображений офисных документов в пару кликов. Секретарша будет на вас молится. Конечный документ А4 в 200dpi обычного вида (типа счёта с синей печатью и подписью) имеет типичный вес от 60 до 200 килобайт и формат png. Нужны установленные sane-utils и ImageMagic.

-----8<-----

#!/bin/sh

TMP="image$$"

while true; do

scanimage \
-p \
--format tiff \
--resolution 200 \
-x 215 -y 297 \мер из инета без пульсате
2> ~/$TMP.tiff \
3>&1 1>&2 2>&3 \
| perl -e '$/="\r";$|=1;while(){s/^\D+(\d+)\D.*$/$1\n/g;print;}' \
| zenity \
--progress \
--title="Сканирование" \
--text="Сканирую изображение. Пожалуйста, подождите..."

if [ $? -eq 0 ]; then
FILE=""
while [ -z "$FILE" ]; do
FILE=`zenity \
--entry \
--title="Обработка" \
--text="Укажите имя файла для сохранения"`
done
convert $TMP.tiff -level 20%,80%,0.4 -format PNG8 -colors 8 $FILE.png
else
killall scanimage
fi

rm -f $TMP.tiff

zenity \
--question \
--title="Продолжим?" \
--text="Вы желаете продолжить сканирование? Не забудьте положить в сканер новый лист." \
|| return

done

-----8<-----
(с) https://webhamster.ru/mytetrashare/index/mtb0/18
зы
но этот скрипт про сканирование у мну не заработал как надо(чего то сканировал но ни выхлопа ни запросов на имя и тд , только прогресс бар висит открытый и не показывает прогресс и всё) а не то что прогресс сканирования показывался бы
может скопировал чего не правильно ... :dntnw:
зы2
:hm: всёж оказывается отсканил страничку в хомяк с файл с именем image12113.tiff
но ни запроса на имя , ни окна про обработку, ни запроса на новое сканирование...

зы3
abulaev2008, нашёлся аот такой простой пример работающего прогрессбара

Код: Выделить всё

  ( for i in {0..100};do echo -e "# $i\n$i";sleep .5;done ) | zenity --title=" бла бла бла  ...." --progress --percentage=0 --auto-close        
и есть ещё один .. по скачиванию wget -ом (грят рабочий , но сначала посмотрю)
проверил ... и вполне себе работает

Код: Выделить всё

 wget $(zenity --text "Вставьте ссылку на файл" --entry) --trust-server-names=on --restrict-file-names=nocontrol 2>&1|sed -u 's/.*\ \([0-9]\+%\)\ \+\([0-9.]\+\ [KMB\/s]\+\)$/\1\n# Downloading \2/'|sed -u 's/.* \([0-9]\+%\)\ \+\([0-9.]\+.\) \(.*\)/\1\n# Скорость \2\/s, осталось \3/'|zenity --progress --percentage=0 --title="Загрузка файла" --auto-close  
"Не ты выбираешь Linux, а Linux выбирает тебя"
(с)Себастьян Перейра, торговец чёрным деревом

no avatar

Автор темы
abulaev2008
Сообщения: 514
Зарегистрирован: 18 ноя 2017, 21:36
Решено: 3
Благодарил (а): 24 раза
Поблагодарили: 70 раз
Контактная информация:

Автоматическое копирование на флешку

#34

07 мар 2018, 16:55

colonel,
Все указанные ссылки уже раньше смотрел (гугл),
и мне не получается указать зенити прогресс (без пульсате) заполнение прогресса при копировании (команда cp ...).
Скорее всего в цикле чего не то указываю:
size="$(du -sh $SRC)" # Подсчет размера источника (в ext4) жесткий диск
copy="$(du -sh $DRC)" # Подсчет размера назначения (в Fat32) флешка

Короче: каталог "copy" получается больше по размеру чем "size" Как? разница в форматах?

Или использовать rsync -avr --progress /.../ /.../ && /.../ /.../ для синхронизации

Аватара пользователя

rogoznik
Сообщения: 10041
Зарегистрирован: 27 июн 2017, 13:36
Решено: 129
Откуда: Нижний Тагил
Благодарил (а): 776 раз
Поблагодарили: 1956 раз
Контактная информация:

Автоматическое копирование на флешку

#35

07 мар 2018, 18:15

А зачем тебе видеть этот прогресс? Покажи сообщение что идет копирование, пусть попульсирует, а потом покажи сообщение что копирование завершено.
ИзображениеИзображение

Аватара пользователя

colonel
Сообщения: 1851
Зарегистрирован: 18 дек 2016, 12:08
Решено: 21
Откуда: Хартленд, N
Благодарил (а): 43 раза
Поблагодарили: 498 раз
Контактная информация:

Автоматическое копирование на флешку

#36

07 мар 2018, 18:51

abulaev2008 писал(а):
07 мар 2018, 16:55
не получается указать зенити прогресс (без пульсате) заполнение прогресса при копировании (команда cp ...).
Скорее всего в цикле чего не то указываю:.....
может подсчёт , тем более что вы сами говорите что цЫфири " дико не бьют" или может чего не так в строках ...
я вот тута немного от обратного поэкспериментировал с вполне рабочим скриптом копирования из инета по wget....
когда всё в одной строке, как оно приведено под спойлером - всё нормально работает , только как немного по другому строки - так или не работает совсем или прогресс бар не показывает что должен... (в общем ...капризная штучка такой бар, а пульсате более неприхотлива )
abulaev2008 писал(а):
07 мар 2018, 16:55
... Или использовать rsync -avr --progress ..
эт только вам самому решать ,
я такое не пользу., максимум что сделал -скриптик по ПКМ для быстрого бекапа содержимого папки в которой текущая работа (фотки , или доки или... )
"Не ты выбираешь Linux, а Linux выбирает тебя"
(с)Себастьян Перейра, торговец чёрным деревом

no avatar

Автор темы
abulaev2008
Сообщения: 514
Зарегистрирован: 18 ноя 2017, 21:36
Решено: 3
Благодарил (а): 24 раза
Поблагодарили: 70 раз
Контактная информация:

Автоматическое копирование на флешку

#37

07 мар 2018, 20:49

darkfenix,
darkfenix писал(а):
07 мар 2018, 18:15
А зачем тебе видеть этот прогресс? Покажи сообщение что идет копирование, пусть попульсирует, а потом покажи сообщение что копирование завершено.
, А зачем,?, а как , если ? а для чего.
Так все работает, но для чего придумали прогресс...
пульсате это просто.

Аватара пользователя

Dja
Сообщения: 6875
Зарегистрирован: 27 авг 2016, 20:03
Решено: 30
Откуда: Voskresensk
Благодарил (а): 1312 раз
Поблагодарили: 724 раза
Контактная информация:

Автоматическое копирование на флешку

#38

07 мар 2018, 20:59

abulaev2008 писал(а):
17 фев 2018, 12:30
Ну нах
 ! Сообщение из: Dja
Предупреждение. Пока устное.
Bill Williamson писал(а):
17 фев 2018, 11:34
rsync для односторонней
А разве двухстороннюю не умеет?
abulaev2008 писал(а):
17 фев 2018, 14:21
заработает или нет у юзера без спецобразования эта дружелюбная система, когда его приплющит на эту идею
Обычного юзера на эту идею не "приплющит"

no avatar

Автор темы
abulaev2008
Сообщения: 514
Зарегистрирован: 18 ноя 2017, 21:36
Решено: 3
Благодарил (а): 24 раза
Поблагодарили: 70 раз
Контактная информация:

Автоматическое копирование на флешку

#39

07 мар 2018, 21:14

Dja, ?

Аватара пользователя

Dja
Сообщения: 6875
Зарегистрирован: 27 авг 2016, 20:03
Решено: 30
Откуда: Voskresensk
Благодарил (а): 1312 раз
Поблагодарили: 724 раза
Контактная информация:

Автоматическое копирование на флешку

#40

07 мар 2018, 23:09

Я ручками синкаю. Тем же rsync. Если как говорится надо часто синкать, значит можно сделать алиас. И процесс весь в консоли видно. Как...уже обсуждалось в другой теме по бэкапам. Если интересует - поиск сверху.

Закрыто

Вернуться в «Программирование, скриптинг, виртуализация»

Кто сейчас на конференции

Сейчас этот форум просматривают: ogankvik и 6 гостей