Титла: калпав баш скрипт Публикувано от: mrowcp в Apr 18, 2010, 21:36 Не съм много сигурен дали темата е за този раздел, извинявам се ако не е.Иначе става дума за следното:
cat cleanup Код
Проблема е че затри даже и папка test което не виждам как може да е вярно ??? ??? ??? Имах важно инфо там. Тествах преди това скрипта върху друга ди ри си работи нормално, както и като заместя променливите.Проблема идва само когато стартирам: /home/user/cleanup И ми изписа: /home/user/test: No such file or directory /home/user/test: No such file or directory Къде бъркам? Титла: Re: калпав баш скрипт Публикувано от: ntrance в Apr 18, 2010, 23:47 DIR2="/home/user/test/*"
FILE2="/home/user/test/*" Титла: Re: калпав баш скрипт Публикувано от: sdr в Apr 19, 2010, 10:41 find $DIR2 -mtime +$DAYS -type d -exec rm -rf {} \;
това по същество ще ти изтрие папката и всичките и файлове ако модификейшъм тайма и е по-старт от 30 дни май .. това е излишно при положение че си изтъркал старите файлове в нея. Друг вапрос е ако искаш да махнеш празните директории тогава -рф е излишно просто го направи с rmdir --ignore-fail-on-non-empty и толкоз - папката като се изпразни ще може и да се изтрие :) аз лично винаги се разтрепервам като трябва да напиша rm -rf а ти чак в скрипт си го сложил и то след find ... смелчага си! п.с. и според мен е по-добре първо да търкаш файловете и после да видиш дали трябва да изкъртиш и директорията Титла: Re: калпав баш скрипт Публикувано от: mrowcp в Apr 19, 2010, 14:49 DIR2="/home/user/test/*" Няма нужда от *, защото то си търси от /home/user/test назад find $DIR2 -mtime +$DAYS -type d -exec rm -rf {} \; Целта е да се трие всичко по старо от 30 дена.Както директории, така и файлове. Проблема е, че когато изпълня: find /home/user/test -mtime +3 -exec rm -rf {} \; всичко си работи нормално ( сега махнах -type ,защото няма смисъл дефакто от него ), но се чупи при стартирането на скрипта и трие 2010-UPL и test . Титла: Re: калпав баш скрипт Публикувано от: morbid_viper в Apr 19, 2010, 15:26 провери дали имаш интервали или други не-буквеноцифрени знаци в имената на файловете. за всеки случай пробвай с „…-exec rm -fr "{}" \;“
Титла: Re: калпав баш скрипт Публикувано от: mrowcp в Apr 19, 2010, 15:45 провери дали имаш интервали или други не-буквеноцифрени знаци в имената на файловете. за всеки случай пробвай с „…-exec rm -fr "{}" \;“ Ще пробвам.Иначе фаиловете са от вида IME-neshto.txt neshto.log.txt Директорийте са: /home/user/test/2000/100/1/ Титла: Re: калпав баш скрипт Публикувано от: dejuren в Apr 20, 2010, 17:26 След като test не е променяна от 30 дни тя също влиза в резултата от търсенето. Елиминираш само нея:
Код: find $DIR -mtime +$DAYS ! -name $DIR -exec rm -rf {} \; Виж също дали параметър -atime може да ти свърши по-добра работа. |