LINUX.ORG.RU

Помогите отредактировать/исправить скрипт.

 


0

1

Добрый день. Помогите отредактировать/исправить скрипт.

Скрипт такой: while [ $(du -sm|cut -f1) -gt 10 ]; do rm -rf «$(ls -1c . | tail -n1)»;done

Тестирую удаление файлов из папки, когда размер папке превысит 10 Мб. Подскажите, как в скрипте указать папку для проверки? Правильно я указываю мегабайты?

Скрипт нужен для планировщика на ftp сервера Net2ftp.

Ответ на: комментарий от sigurd

пробовал и "/test4/" и "/test4", пишет ошибку:

while [ $(du -sm /test4/|cut -f1) -gt 10]; do rm -rf «$(ls -1c . | tail -n1)»;donef «$(ls -1c . | tail -n1)»;done du: cannot access ‘/test4/’: No such file or directory /bin/sh: line 0: [: missing `]’

Vladimir1980
() автор топика
Ответ на: комментарий от gruy

не получается( :

u15852$ while [ $(du -sm u15852$/test4|cut -f1) -gt 10]; do rm -rf «$(ls -1c . | tail -n1)»;donef «$(ls -1c . | tail -n1)»;done du: cannot access ‘u158572$/test4’: No such file or directory /bin/sh: line 0: [: missing `]’

Vladimir1980
() автор топика
Ответ на: не получается( : от Vladimir1980

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

Зачем символ $ в u15852$/test4? Просто тупо скопировал из консоли?

gruy ★★★★★
()
Ответ на: нет( я с 1с работаю. от Vladimir1980

где у тебя располагается папка test4?

попробуй написать без слешей, просто

while [ $(du -sm test4 | cut -f1) -gt 10 ]; do rm -rf "$(ls -1c test4 | tail -n1)"; done
anonymous
()
Ответ на: комментарий от anonymous

а, не, так тоже не получится :)

anonymous
()
Ответ на: не получается( : от Vladimir1980

не получается( :

Я считаю, что это защита от дурака срабатывает!
Человеку, не знающему где у него находится каталог test4 нельзя давать возможность что-либо удалять!

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

пробовал, сказали не помогают со скриптами

Ну я могу дать два очевидных совета: 1) читай описание всех команд, которые применяешь; 2) прежде чем заливать это на боевой сервер, потестируй в каком-нибудь каталоге на локалхосте.

hobbit ★★★★★
()
Ответ на: комментарий от Vladimir1980
  1. Использовать какой-либо ftp клиент с необходимыми командами.

  2. Примонтировать удаленный ftp каталог к себе и работать с ним твоими примерами команд.

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

gruy ★★★★★
()

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

Начти с боле простых примеров

например echo `pwd` > test_file.txt

там внутри будет либо просто / либо /home/username/ либо что-то подобное

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

ну вот и попробуй просто rm -rf ./test4

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

filezilla: https://prnt.sc/105evd2

сразу каталоги пользователя отображает.

Vladimir1980
() автор топика
Ответ на: комментарий от slowpony

пишет ошибку:

u158572$ while [ $(du -sm /home/u158572/test4|cut -f1) -gt 10]; do rm -rf «$(ls -1c . | tail -n1)»;donef «$(ls -1c . | tail -n1)»;done du: cannot access ‘/home/u158572/test4’: No such file or directory /bin/sh: line 0: [: missing `]’

Vladimir1980
() автор топика
Ответ на: комментарий от anonymous

все равно ошибка(

u158572$ while [ $(du -sm /home/u158572/test4 |cut -f1) -gt 1]; do rm -rf «$(ls -1c . | tail -n1)»;donef «$(ls -1c . | tail -n1)»;done du: cannot access ‘/home/u158572/test4’: No such file or directory /bin/sh: line 0: [: missing `]’

пробовал еще «./test4»:

u158572$ while [ $(du -sm ./test4 |cut -f1) -gt 1]; do rm -rf «$(ls -1c . | tail -n1)»;donef «$(ls -1c . | tail -n1)»;done du: cannot access ‘./test4’: No such file or directory /bin/sh: line 0: [: missing `]’

Vladimir1980
() автор топика
Ответ на: нет( я с 1с работаю. от Vladimir1980

Так тыжпрограммист, найди уже путь к целевому каталогу. Или поиск по файловой системе это для одинэсника за пределами возможностей?

anonymous
()
Ответ на: https://prnt.sc/105h3zx от Vladimir1980

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

anonymous
()
Ответ на: все равно ошибка( от Vladimir1980

Пробел перед закрывающей квадратной скобкой верни, он там не для красоты стоял.

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

все там нормально, ему уже вон подсказали по поводу пробелов обрамляющих тело условия для цикла.

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