Помогите ламеру со [шелл]скриптом)

Discussion in 'Безопасность и Анонимность' started by -SX-, 19 Feb 2007.

  1. -SX-

    -SX- Elder - Старейшина

    Joined:
    4 Oct 2004
    Messages:
    92
    Likes Received:
    8
    Reputations:
    5
    Вот на досуге написал небольшой скрипт...
    Code:
    #!/bin/bash
    # I'm LOVE bash!!! :)
    # Little script for demo TAR !!! =)
    # Ok, so let's  go....
    
    # SETTINGZ
    FILES="*.ptg"
    PWD="/home/data/ "
    # ENGINE
    cd $PWD
    echo "------------------------------------"
    echo "START DAEMON AT THIS PWD: $PWD"
    echo "In progress....."
    
    for file in $FILES
    do
            if [ ! -e "$file" ]
            then
             echo "I can't find files... :("
             echo "Contactz microsoft)))"
             continue
            fi
    
            tar "czf" "$file"."tar.gz" $file
            `rm -f $file`
            #echo
    done
    echo "...done"
    echo "------------------------------------"
    exit 0
    
    Но это не совсем что требуется...как оказалось...
    Т.е. скрипт помещен в кронтаб... запускается он раз в час... за час в дире data создаются около 20 файлов *.ptg , но дело в том, что приложение, которое создает и пишет эти файлы, все время работает... работает оно так:
    1. Создает файл *.ptg
    2. Начинает в него писать информацию, на протяжении нескольких минут.
    3. После, сохраняет файл и goto 1 пункт...
    И получается когда запускается этот скрипт, он захватывает один из нескольких недописанных файлов, что не есть хорошо... т.е. само собой прога пишет файл, и тут подхвачивает его тар, и начинает запаковывать, после удаляет... ну естесно, прога в ах*е ), прерывается, и начинает другой файл писать, а тот, что в архиве получается остается поврежденный...

    Не кто не подскажет, как можно скриптик переписать так, чтоб тот файл, в котором, в данный момент, напрм. изменяется размер, пропускал его?
     
  2. Thanat0z

    Thanat0z Негрин

    Joined:
    6 Dec 2006
    Messages:
    627
    Likes Received:
    498
    Reputations:
    311
    кажется есть возможность проверять есть ли доступ к файлу, или не трогать файл, у которого самая последня дата создания
     
  3. -SX-

    -SX- Elder - Старейшина

    Joined:
    4 Oct 2004
    Messages:
    92
    Likes Received:
    8
    Reputations:
    5
    возможность шелла? хмм.. вроде бы смотрел..небыло.. сейчас поищу..
     
  4. Thanat0z

    Thanat0z Негрин

    Joined:
    6 Dec 2006
    Messages:
    627
    Likes Received:
    498
    Reputations:
    311
    ну на крайняк делай через попу:
    1) листинг файлов .ptg в файл (ls -1 --sort=time *.ptg или ls --time=status, сам не страдал)
    2) удаляй первую или последнюю запись (зависит от того в каком порядке выводится листинг) - через grep
    3) делай кат файла на тар и всё
     
    #4 Thanat0z, 19 Feb 2007
    Last edited: 19 Feb 2007
    1 person likes this.
  5. MicRO

    MicRO Member

    Joined:
    28 Oct 2004
    Messages:
    274
    Likes Received:
    75
    Reputations:
    49
    можешь просто последний файл нетрогать, он например на следущей проверке затронется, если конешно это не критично, или попробывать определеные права выставлять при работе если одни права то пакуем если нет то нет :)