The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Архивирование, сжатие и копирование поддерева директорий на уда"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Изначальное сообщение [ Отслеживать ]

"Архивирование, сжатие и копирование поддерева директорий на уда"  +/
Сообщение от student1984 (ok) on 07-Авг-12, 18:42 
Добрый день.
Нам задали написать 2 скрипта, они вроде и легкие, но для меня оказались неподьемной задачей. Помогите освоить
Скрипт 1:Архивирование, сжатие и копирование поддерева директорий на удаленную машину «в потоке» с последующим разжатием и разархивированием. В процессе копирования должен выводиться счетчик прогресса (сколько файлов/байт скопировано, сколько осталось, текущая скорость).
Скрипт 2: Написать скрипт, осуществляющий операции над файлами в несколько потоков одновременно; команда операции и ее аргументы передаются в скрипт в качестве параметров. Число потоков определяется значением n*<число процесcоров>.
Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Архивирование, сжатие и копирование поддерева директорий на уда"  +/
Сообщение от Af. on 07-Авг-12, 21:12 
Посмотри в сторону SpaceFM + вспомни/узнай особенности грамматики голованов. Это подсказка. Если не поможет, то может ну её, эту учёбу. Зачем терять время на мучения над противным. Надо получать удовольствие от мучений, иначе нет успеха.

Мой препод по матану, ходил меж рядов, меж нас сопящих над зачётом и говорил: надо мучаться, надо. Зачёты потом ставил.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

11. "Архивирование, сжатие и копирование поддерева директорий на уда"  +/
Сообщение от LSTemp (ok) on 08-Авг-12, 01:38 
> Посмотри в сторону SpaceFM + вспомни/узнай особенности грамматики голованов. Это подсказка.
> Если не поможет, то может ну её, эту учёбу. Зачем терять
> время на мучения над противным. Надо получать удовольствие от мучений, иначе
> нет успеха.
> Мой препод по матану, ходил меж рядов, меж нас сопящих над зачётом
> и говорил: надо мучаться, надо. Зачёты потом ставил.

твой препод прав.

толко нах тут GUI вываливать, в ответ на вопрос скриптования в командной оболочке?

PS
Ты явно еще не намучался (причем к форуму это никакого отношения не имеет)


Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

13. "Архивирование, сжатие и копирование поддерева директорий на уда"  +/
Сообщение от Af. on 08-Авг-12, 09:49 
> PS
> Ты явно еще не намучался (причем к форуму это никакого отношения не
> имеет)

Я и сам мучался, и других мучал, и даже не глядя мимо пропускал, черкая отлы. А потом ещё думал над этим, других выслушивал. Некоторое время слежу за Вашими постами, при случае ( с чего бы это :) ). Есть проблема, среди прочих. Если человек не может пройти экзамен/зачёт, ему помогли посторонние и это считается хорошим стилем, то после этого начинается Чернобыль, Саяно-Шушенская ГЭС, победно утопленный Курск, по дурости убитые заложники, утонувшие буровые с погибшим коллективом, смытый дождём Крымск и 50+тыс. человек. В перечисленных ситуациях, если внимательно собрать инфу из общедоступных источников, среди принимавших решения тупо не было образованного человека. Диплом должен быть дипломом, а не прошлогодним календариком.

Я не советую Вам делать выводы о незнакомых людях и незнакомых предметах.

Вы, молодой человек, в поставленной программной задаче разбираетесь явно средне, судя по Вашим текстам в теме. Более того, не слишком догадливы или не слишком компенсируете это усидчивостью, судя по реакции. Склонны к эмоциональным всплескам (см. другие темы на форуме), что частично объясняет НЕусидчивость, скоропалительность в выводах и собственных мнениях.

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

2. "Архивирование, сжатие и копирование поддерева директорий на уда"  +/
Сообщение от LSTemp (ok) on 07-Авг-12, 22:54 
> Добрый день.
> Нам задали написать 2 скрипта, они вроде и легкие, но для меня
> оказались неподьемной задачей. Помогите освоить
> Скрипт 1:Архивирование, сжатие и копирование поддерева директорий на удаленную машину
> «в потоке» с последующим разжатием и разархивированием. В процессе копирования
> должен выводиться счетчик прогресса (сколько файлов/байт скопировано, сколько осталось,
> текущая скорость).
> Скрипт 2: Написать скрипт, осуществляющий операции над файлами в несколько потоков одновременно;
> команда операции и ее аргументы передаются в скрипт в качестве параметров.
> Число потоков определяется значением n*<число процесcоров>.

на чем писать?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Архивирование, сжатие и копирование поддерева директорий на уда"  +/
Сообщение от student1984 (ok) on 08-Авг-12, 00:02 
>[оверквотинг удален]
>> Нам задали написать 2 скрипта, они вроде и легкие, но для меня
>> оказались неподьемной задачей. Помогите освоить
>> Скрипт 1:Архивирование, сжатие и копирование поддерева директорий на удаленную машину
>> «в потоке» с последующим разжатием и разархивированием. В процессе копирования
>> должен выводиться счетчик прогресса (сколько файлов/байт скопировано, сколько осталось,
>> текущая скорость).
>> Скрипт 2: Написать скрипт, осуществляющий операции над файлами в несколько потоков одновременно;
>> команда операции и ее аргументы передаются в скрипт в качестве параметров.
>> Число потоков определяется значением n*<число процесcоров>.
> на чем писать?

bash, просто bash ^-^
Маленькая поправочка: число процессов а не процессоров. Не досмотрели

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Архивирование, сжатие и копирование поддерева директорий на уда"  +/
Сообщение от LSTemp (ok) on 08-Авг-12, 00:19 
скрипт 1: доступ к удаленной машине по каким протоколам возможен?
скрипт 2: список команд, которые должны обрабатываться

PS
НЕТ в bash МНОГОПОТОЧНОСТИ (в том смысле, что Вы вкладывали в свой вопрос). Есть возможность запустить задачу в отдельном процессе (взаимодействие с этим процессом остается на Ваших плечах конечно же). Потоки в терминах bash - это просто источники/получатели данных, а не параллельная обработка запросов.

В связи с этим встает очевидный вопрос - уточните Вашу исходную задачу (банально процитируйте ее, как Вам поставили)

PSS
Твою мать!!! стыдно перед Всеми!!! Заработался про потоки на другую задачу.... ( Сам же говорю, а мысли где-то далеко были. Еще раз прошу прощения у Всех. Банальный "поток" (в терминах автора) tar|gzip|ftp.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Архивирование, сжатие и копирование поддерева директорий на уда"  +/
Сообщение от student1984 (ok) on 08-Авг-12, 00:37 
> скрипт 1: доступ к удаленной машине по каким протоколам возможен?
> скрипт 2: какие список допустимых (поддерживаемых операций)

1: Преподаватель сказал как выберем (пусть фтп будет)
2: То же самое ( пускай будут какие - нибудь простые операции )

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "Архивирование, сжатие и копирование поддерева директорий на уда"  +/
Сообщение от LSTemp (ok) on 08-Авг-12, 00:45 
>> скрипт 1: доступ к удаленной машине по каким протоколам возможен?
>> скрипт 2: какие список допустимых (поддерживаемых операций)
> 1: Преподаватель сказал как выберем (пусть фтп будет)
> 2: То же самое ( пускай будут какие - нибудь простые операции
> )

я предыдущий свой пост поправил. почитайте. Вы, видимо, ответили мне до последней редакции...

PS
ИМХО Вам стот изучить командную строку *nix (ограничений же в задании на вызов стандартных утилит нет)


Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

8. "Архивирование, сжатие и копирование поддерева директорий на уда"  +/
Сообщение от student1984 (ok) on 08-Авг-12, 01:05 
>>> скрипт 1: доступ к удаленной машине по каким протоколам возможен?
>>> скрипт 2: какие список допустимых (поддерживаемых операций)
>> 1: Преподаватель сказал как выберем (пусть фтп будет)
>> 2: То же самое ( пускай будут какие - нибудь простые операции
>> )
> я предыдущий свой пост поправил. почитайте. Вы, видимо, ответили мне до последней
> редакции...
> PS
> ИМХО Вам стот изучить командную строку *nix (ограничений же в задании на
> вызов стандартных утилит нет)

В задании было написано именно так как я написал в первом посте...не звонить же преподавателю в час ночи :)
А насчет многопоточности я думаю имеется разделение задачи на несколько процессов, скажем чтобы, к примеру, вывод из файла n-го числа строк производился одним процессом, остальных другим процессом. К сожалению большего сказать не могу, т.к. пока в этом плаваю. Завтра уточню обязательно у преподавателя

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

10. "Архивирование, сжатие и копирование поддерева директорий на уда"  +/
Сообщение от LSTemp (ok) on 08-Авг-12, 01:32 
>[оверквотинг удален]
>>> 1: Преподаватель сказал как выберем (пусть фтп будет)
>>> 2: То же самое ( пускай будут какие - нибудь простые операции
>>> )
>> я предыдущий свой пост поправил. почитайте. Вы, видимо, ответили мне до последней
>> редакции...
>> PS
>> ИМХО Вам стот изучить командную строку *nix (ограничений же в задании на
>> вызов стандартных утилит нет)
> В задании было написано именно так как я написал в первом посте...не
> звонить же преподавателю в час ночи :)

Не обязательно же было прямо сейчас отвечать. Подождите утра, уточните вопрос.

> А насчет многопоточности я думаю имеется разделение задачи на несколько процессов, скажем
> чтобы, к примеру, вывод из файла n-го числа строк производился одним
> процессом, остальных другим процессом. К сожалению большего сказать не могу, т.к.
> пока в этом плаваю. Завтра уточню обязательно у преподавателя

Я завел Вас немного не в ту сторону - прошу прощения. Немного поясню:

- процесс - это программа, которая последовательно исполняет инструкции, которые в ней написали

- многопоточность/потоки - это когда одна программа запускает НЕСКОЛЬКО задач одновременно, которые решаются в ОДНО И ТО ЖЕ ВРЕМЯ (несколько потоков), а не последовательно, как в предыдущем случае, и взаимодействуют м/ду собой

- к bash многопоточность (т.е параллельный запуск решения нескольких задач, в пределах одного процесса=программы) никакого отношения не имеет. Именно тут я увел Вас в сторону.
- для bash термин "поток" означает всего лишь входящие/исходящие данные.

PS
ключевое слово для гугла "конвейер"

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

9. "Архивирование, сжатие и копирование поддерева директорий на уда"  +/
Сообщение от LSTemp (ok) on 08-Авг-12, 01:14 
>> скрипт 1: доступ к удаленной машине по каким протоколам возможен?
>> скрипт 2: какие список допустимых (поддерживаемых операций)
> 1: Преподаватель сказал как выберем (пусть фтп будет)
> 2: То же самое ( пускай будут какие - нибудь простые операции
> )

простейшая операция - получить файл с удаленного сервера : man wget.

читайте опции и несколько процессов из скрипта одновременно запустить не проблема (это проще чам средствами шела подобные задачи решать на прямую)


Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

12. "Архивирование, сжатие и копирование поддерева директорий на уда"  +/
Сообщение от LSTemp (ok) on 08-Авг-12, 02:04 
>>> скрипт 1: доступ к удаленной машине по каким протоколам возможен?
>>> скрипт 2: какие список допустимых (поддерживаемых операций)
>> 1: Преподаватель сказал как выберем (пусть фтп будет)
>> 2: То же самое ( пускай будут какие - нибудь простые операции
>> )
> простейшая операция - получить файл с удаленного сервера : man wget.
> читайте опции и несколько процессов из скрипта одновременно запустить не проблема (это
> проще чам средствами шела подобные задачи решать на прямую)

как вариант - запуск несколько процессов удаления файлов и игнорирование отсутствия файлов.

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

7. "Архивирование, сжатие и копирование поддерева директорий на уда"  +/
Сообщение от LSTemp (ok) on 08-Авг-12, 00:55 
-
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

14. "Архивирование, сжатие и копирование поддерева директорий на уда"  +/
Сообщение от student1984 (ok) on 08-Авг-12, 16:10 
Всем спасибо, сам разобрался и написал этих 2 скрипта :)
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

15. "Архивирование, сжатие и копирование поддерева директорий на уда"  +/
Сообщение от pavlinux (ok) on 13-Авг-12, 06:33 
> Всем спасибо, сам разобрался и написал этих 2 скрипта :)

Гонишь? Написал на баше ftp-клиент и архиватор???? =-о

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

16. "Архивирование, сжатие и копирование поддерева директорий на уда"  +/
Сообщение от LSTemp (ok) on 16-Авг-12, 07:48 
>> Всем спасибо, сам разобрался и написал этих 2 скрипта :)
> Гонишь? Написал на баше ftp-клиент и архиватор???? =-о

не -  ну зачем так жестоко? ) там же не было ограничения на использование из баша других команд. весь загон делался на а-ля "многопоточность".

Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

17. "Архивирование, сжатие и копирование поддерева директорий на уда"  +/
Сообщение от Guest (??) on 05-Ноя-13, 06:38 
КАК? КАК ТЫ ИХ НАПИСАЛ???? Выложи их код пожалуйста

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

18. "Архивирование, сжатие и копирование поддерева директорий на уда"  –1 +/
Сообщение от Guest (??) on 05-Ноя-13, 06:42 
> Скрипт 1:Архивирование, сжатие и копирование поддерева директорий на удаленную машину
> «в потоке» с последующим разжатием и разархивированием. В процессе копирования
> должен выводиться счетчик прогресса (сколько файлов/байт скопировано, сколько осталось,
> текущая скорость).

Первую половину задания делаем через tar gzip и ssh. Но как быть с прогресс-баром? Сторонние утилиты типо pv,bar использовать нельзя. Нужно выполнить задание одной строчкой. Есть у кого какие-либо идеи насчет этого проклятого однострочного прогресс-бара?


Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

19. "Архивирование, сжатие и копирование поддерева директорий на уда"  +/
Сообщение от universite email(ok) on 22-Ноя-13, 02:28 

> Первую половину задания делаем через tar gzip и ssh. Но как быть
> с прогресс-баром? Сторонние утилиты типо pv,bar использовать нельзя. Нужно выполнить задание
> одной строчкой. Есть у кого какие-либо идеи насчет этого проклятого однострочного
> прогресс-бара?

Профессор, наверное тот же :)

P.S. тут пора сооружать гитхаб :)

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

20. "Архивирование, сжатие и копирование поддерева директорий на уда"  +/
Сообщение от Аноним (??) on 23-Ноя-13, 23:23 
Один ответ на весь топик - rsync :)
Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

21. "Архивирование, сжатие и копирование поддерева директорий на уда"  +/
Сообщение от guest (??) on 19-Дек-13, 07:45 
А ответ оказывается в том, что нужно удаленно каждую секунду проверять размер файлов командами либо stat либо du, и основываясь на текущем размере вычислять скорость, то есть "тек. размер - предыдущ. размер = скорость байт/сек" и отсюда уже мастерить прогресс бар со скоростью, остатком, и сколько уже скопировано. Ну и плюс можно чекать кол-во файлов в удаленной папке, и выводить сколько скопировано.


Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру