Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   *nix (https://forum.antichat.xyz/forumdisplay.php?f=43)
-   -   Помогите ламеру со [шелл]скриптом) (https://forum.antichat.xyz/showthread.php?t=33688)

-SX- 19.02.2007 04:15

Помогите ламеру со [шелл]скриптом)
 
Вот на досуге написал небольшой скрипт...
Код:

#!/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 пункт...
И получается когда запускается этот скрипт, он захватывает один из нескольких недописанных файлов, что не есть хорошо... т.е. само собой прога пишет файл, и тут подхвачивает его тар, и начинает запаковывать, после удаляет... ну естесно, прога в ах*е ), прерывается, и начинает другой файл писать, а тот, что в архиве получается остается поврежденный...

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

Thanat0z 19.02.2007 04:29

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

-SX- 19.02.2007 15:06

Цитата:

Сообщение от Thanat0z
кажется есть возможность проверять есть ли доступ к файлу, или не трогать файл, у которого самая последня дата создания

возможность шелла? хмм.. вроде бы смотрел..небыло.. сейчас поищу..

Thanat0z 19.02.2007 15:15

ну на крайняк делай через попу:
1) листинг файлов .ptg в файл (ls -1 --sort=time *.ptg или ls --time=status, сам не страдал)
2) удаляй первую или последнюю запись (зависит от того в каком порядке выводится листинг) - через grep
3) делай кат файла на тар и всё

MicRO 22.02.2007 04:53

можешь просто последний файл нетрогать, он например на следущей проверке затронется, если конешно это не критично, или попробывать определеные права выставлять при работе если одни права то пакуем если нет то нет :)


Время: 12:34