Автор Тема: Изтриване на файлове по-стари от 10 дена  (Прочетена 1513 пъти)

Ogg1

  • Напреднали
  • *****
  • Публикации: 32
    • Профил
Здравейте,
на PC-то ми се правят логове всеки ден и искам да си направя скрипт, който да ми изтрива логовете по-стари от 10 дена.
Понеже логовете които се правят са от рода (L20090808.log) и (error_20090808.log за грешките.
Скрипта който съм написал е:

Код:
#!/bin/bash
rm -f *$((`date -d "-10day" +%Y%m%d`))*

Проблемът обаче в този скрипт е, че ако днес сме 12.09.2009, скрипта ще изтрив само логовете от 02.09.2009, което не ме устройва много, понеже по една или друга причина компютъра ми неработи на 12.09.2009 или когато трябва да се изпълни cron-а, логовете от 12.09.2009 ще си останат.
За това искам леко да си преработя скрипта така че да изтрива всички логове които са по-стари от 12.09.2009, нещо като <=10day, но не се сещам как точно да го направя. Пробвах със сравнение на стрингове, но немога да се справя. Дайте някаква идея как да го направя.  :)
Активен

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Код
GeSHi (Bash):
  1. find /папка/с/файлове -type f -mtime +10 -exec /bin/rm {} \;
Пет пари не давам как се казват файловете ти ;)
Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

Ogg1

  • Напреднали
  • *****
  • Публикации: 32
    • Профил
Уфффф колко просто било, а въобще не се сетих  ::)
Мерси  [_]3
Активен

ntrance

  • Напреднали
  • *****
  • Публикации: 696
    • Профил
[quote
Пет пари не давам как се казват файловете ти ;)
[/quote]

Xaxasxasxssa :D
Активен

Ogg1

  • Напреднали
  • *****
  • Публикации: 32
    • Профил
Код
GeSHi (Bash):
  1. find /папка/с/файлове -type f -mtime +10 -exec /bin/rm {} \;
Пет пари не давам как се казват файловете ти ;)

А просто от любопитство, как може да стане по този начин по който аз се опитвах  ???
Активен

LinuxFanUNIX

  • Напреднали
  • *****
  • Публикации: 408
  • Distribution: Slackware 12.2
  • Window Manager: KDE 3.5.10
    • Профил
А просто от любопитство, как може да стане по този начин по който аз се опитвах  ???
Код
GeSHi (Bash):
  1. #!/bin/bash
  2. for ((i=10; i<=10000; i++)) {
  3. rm -f *$((`date -d "$iday" +%Y%m%d`))*
  4. }
Активен