Вот на досуге написал небольшой скрипт... 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 пункт... И получается когда запускается этот скрипт, он захватывает один из нескольких недописанных файлов, что не есть хорошо... т.е. само собой прога пишет файл, и тут подхвачивает его тар, и начинает запаковывать, после удаляет... ну естесно, прога в ах*е ), прерывается, и начинает другой файл писать, а тот, что в архиве получается остается поврежденный... Не кто не подскажет, как можно скриптик переписать так, чтоб тот файл, в котором, в данный момент, напрм. изменяется размер, пропускал его?
кажется есть возможность проверять есть ли доступ к файлу, или не трогать файл, у которого самая последня дата создания
ну на крайняк делай через попу: 1) листинг файлов .ptg в файл (ls -1 --sort=time *.ptg или ls --time=status, сам не страдал) 2) удаляй первую или последнюю запись (зависит от того в каком порядке выводится листинг) - через grep 3) делай кат файла на тар и всё
можешь просто последний файл нетрогать, он например на следущей проверке затронется, если конешно это не критично, или попробывать определеные права выставлять при работе если одни права то пакуем если нет то нет