Сценарий оболочки Linux: удалите все файлы без “01” на имя

Перезапустите пул приложений IIS из командной строки:

cscript c:\WINDOWS\system32\iisapp.vbs /a SuperDuperAppPool /r

Где 'SuperDuperAppPool' является Вашим именем пула приложений

1
задан 20 August 2010 в 03:41
2 ответа

Можно сделать это с простым globbing таким же образом, Вы используете его теперь:

find /backups -mtime +30 -name "backups_????????.tar.gz" ! -name "backups_??????01.tar.gz" -delete

"Найдите файлы, которые более чем 30 дней и названы НЕЧТО и не именованной ПАНЕЛЬЮ и удаляют их".

2
ответ дан 3 December 2019 в 22:27

Принятие Вас имеет замечание, но файлы резервных копий во всех каталогах ниже Вас могли сделать что-то как:

find . -type f -regextype posix-egrep ! -regex ".*backups_[0-9]{6}01.tar.gz" -name '*.tar.gz' -print0 | xargs -0 rm 

Трудно для высказывания точно, не зная все файлы в этих каталогах таким образом выполняет его без комнаты сначала! Вы могли бы хотеть изменить последний *.tar.gz шарик к чему-то ближе к Вашему исходному шарику.

0
ответ дан 3 December 2019 в 22:27
  • 1
    , О, я не думаю, что считал его совершенно верно. Но в основном"!" прежде чем правило инвертирует его, и затем все - and'd вместе. Я сделал это немного более сложным, чем потребность быть. –  Kyle Brandt 20 August 2010 в 04:02
  • 2
    Не or'd... and'ed :P Необходимо использовать - или оператор для них, чтобы быть or'd (как Вы говорите), –  Khai 20 August 2010 в 04:27

Теги

Похожие вопросы