LINUX.ORG.RU
ФорумJob

Ищу помощь для написания shell скрипта. Срочно.

 


0

1

До четверга требуется написать программку на shell.

Для того чтобы не допустить потерю информации при порче диска, обычно используют резервное копирование файлов (backup). Простейшей формой backup’а является копирование всех файлов из одной директории в другую. Этот способ требует много времени и места на диске. Напишите программу, осуществляющую более интеллектуальный подход. Программа должна брать из командной строки два параметра: исходную директорию и директорию назначения. Она должна рекурсивно сканировать исходную директорию, делать копии всех файлов, для которых ранее не делались копии или которые были изменены с момента последнего backup’а, размещая их в соответствующих местах директории назначения. После копирования каждого файла должна вызываться команда сжатия gzip. Это уменьшит требуемый размер дисковой памяти; а файл будет переименован с добавлением расширения .gz. Все возникающие ошибки (нет исходной директории, файл закрыт для чтения и т.д.) должны корректно обрабатываться с выдачей соответствующего сообщения.

За небольшое вознаграждение. Пишите на bolshedvorskys@gmail.com . От меценатства не откажусь))

Зачем велосипед, когда rsync есть? (Хотя он тоже тормозной)

После копирования каждого файла должна вызываться команда сжатия gzip

Лучше же все потом сжать.

Ищу помощь

Определись, что ты хочешь, чтобы за тебя написали, или, чтобы помогли написать? Если второе, то задавай конкретные вопросы.

Tanger ★★★★★ ()

Поделок много. Одна из них.

Программа должна брать из командной строки два параметра: исходную директорию и директорию назначения.

Можешь getopt(пример(строки 9-28)) прикрутить к ней.

backbone ★★★★★ ()
#! /bin/sh -e

SRC=$1
DST=$2

if [ ! -d $SRC ]
then
    echo "cannot stat '$SRC': No such directory"
    exit 1
fi

cd $SRC

find . -type f | while read i
do
    if [ ! -f $DST/$i.gz -o $i -nt $DST/$i.gz ]
    then
        cp -p --parents $i $DST
        gzip -f $DST/$i
    fi
done
at ★★ ()

За небольшое вознаграждение.

ну я таких «программ» много написал. Если что, готовь $20 и пиши мне в личку.

drBatty ★★ ()
Ответ на: комментарий от drBatty

и да, если ты не понял про личку, то перечитай:

Полное имя: drBatty
URL: http://forum.drbatty.ru

drBatty ★★ ()
Ответ на: комментарий от drBatty

я понял)) только вторым сообщением at* написал рабочий код)

bstepa ()
Ответ на: комментарий от Tanger

Зачем велосипед, когда rsync есть?

чтобы научится писать на bash-e, это ж явно лаба или может даже курсовая))

После копирования каждого файла должна вызываться команда сжатия gzip

глупость конечно, но задание есть задание. я бы сначала написал как просят, а потом как надо и сдал бы оба варианта.

autonomous ★★★★ ()
Ответ на: комментарий от autonomous

чтобы научится писать на bash-e, это ж явно лаба или может даже курсовая

а ТС разве чему-то научился?

drBatty ★★ ()

Модераторам

Привет модераторам! Это сообщение не нуждается больше в нахождении на форуме т.к. я получил нужный мне ответ) огромное спасибо at* за реальную помощь, а теперь суть ссобщения в разделе сказано, что: «вся информация не относящаяся к разделу будет удаляться» по моему сейчас самое время её удалить. большое спасибо за понимание))

bstepa ()
Ответ на: комментарий от drBatty

а ТС разве чему-то научился?

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

autonomous ★★★★ ()
Ответ на: комментарий от autonomous

я бы сначала написал как просят, а потом как надо и сдал бы оба варианта.

Можно напороться на лютую обиду и последующую (бывает даже постоянную) месть препода, вдруг он реально глупый, а не специально так задал.

wbrer ★★★ ()
Ответ на: комментарий от wbrer

смотря как преподнести, если начать учить жизни, то конечно

autonomous ★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.