Сценарий для удаления контента старше x дней

У меня есть следующий скрипт, хотя я хотел бы изменить его на удаление контента, как только каталог достигнет определенного размера. Каковы мои варианты?

find /home/scott/google-drive/CAMMEDIA/* -mtime +1 -exec rm -rf {} \;
0
задан 14 May 2018 в 06:05

3 ответа

Это псевдокод. Вам нужно будет установить размер папки и то, что вы хотите удалить самостоятельно (вы не поняли, что вы хотите удалить, поэтому я выполняю то же, что и вы)

MAX_SIZE=50000 DIR_SIZE=$(du /home/scott/google-drive/CAMMEDIA/*) if [$MAXSIZE -gt $DIR_SIZE] then find /home/scott/google-drive/CAMMEDIA/* -mtime +1 -exec rm -rf {} \; fi
0
ответ дан 17 July 2018 в 14:51

Это псевдокод. Вам нужно будет установить размер папки и то, что вы хотите удалить самостоятельно (вы не поняли, что вы хотите удалить, поэтому я выполняю то же, что и вы)

MAX_SIZE=50000 DIR_SIZE=$(du /home/scott/google-drive/CAMMEDIA/*) if [$MAXSIZE -gt $DIR_SIZE] then find /home/scott/google-drive/CAMMEDIA/* -mtime +1 -exec rm -rf {} \; fi
0
ответ дан 20 July 2018 в 14:53
  • 1
    Спасибо, @Jeff. Я предполагаю, что это в КБ? – Scott 9 May 2018 в 18:07
  • 2
    @Scott да, со страницы man: «Значения отображения находятся в единицах первого доступного размера от -block-size и переменных среды DU_BLOCK_SIZE, BLOCK_SIZE и BLOCKSIZE. В противном случае единицы по умолчанию равны 1024 байтам (или 512, если установлен POSIXLY_CORRECT) & quot ;. Вы можете получить удобочитаемый формат, используя du -h, но я думаю, что вам понадобится необработанный номер для вашего кода. Если этот ответ будет работать для вас, пожалуйста, поддержите его и примите. – Jeff 9 May 2018 в 18:33
  • 3
    Я получаю сообщение об ошибке при выполнении этого сейчас...строка 3: [: Missing ` в]'. Кстати, я изменил ', чем' до 'потом'. – Scott 13 May 2018 в 18:45
  • 4
    можете ли вы устранить ошибку, которую я получаю? – Scott 17 May 2018 в 01:23
  • 5
    Попробуйте помещать пробелы между переменной и скобкой. [F1] – Jeff 22 May 2018 в 07:14

Это псевдокод. Вам нужно будет установить размер папки и то, что вы хотите удалить самостоятельно (вы не поняли, что вы хотите удалить, поэтому я выполняю то же, что и вы)

MAX_SIZE=50000 DIR_SIZE=$(du /home/scott/google-drive/CAMMEDIA/*) if [$MAXSIZE -gt $DIR_SIZE] then find /home/scott/google-drive/CAMMEDIA/* -mtime +1 -exec rm -rf {} \; fi
0
ответ дан 20 July 2018 в 15:18
  • 1
    Спасибо, @Jeff. Я предполагаю, что это в КБ? – Scott 9 May 2018 в 18:07
  • 2
    @Scott да, со страницы man: «Значения отображения находятся в единицах первого доступного размера от -block-size и переменных среды DU_BLOCK_SIZE, BLOCK_SIZE и BLOCKSIZE. В противном случае единицы по умолчанию равны 1024 байтам (или 512, если установлен POSIXLY_CORRECT) & quot ;. Вы можете получить удобочитаемый формат, используя du -h, но я думаю, что вам понадобится необработанный номер для вашего кода. Если этот ответ будет работать для вас, пожалуйста, поддержите его и примите. – Jeff 9 May 2018 в 18:33
  • 3
    Я получаю сообщение об ошибке при запуске этого сейчас ... строка 3: [: missing `] '. Кстати, я изменил «чем» на «тогда». – Scott 13 May 2018 в 18:45
  • 4
    можете ли вы устранить ошибку, которую я получаю? – Scott 17 May 2018 в 01:23
  • 5
    Попробуйте помещать пробелы между переменной и скобкой. [F1] – Jeff 22 May 2018 в 07:14

Другие вопросы по тегам:

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