GNU/Linux >> Znalost Linux >  >> Linux

Logrotate:Rotace souborů bez protokolu?

Řešení 1:

Bez změny vašeho procesu logrotate sám o sobě neudělá to, co zde hledáte. Klíčový problém je v tom, že i když logrotate může používat zástupné znaky, nebude soubory považovat za jeden, pokud tak učiníte, a místo toho se pokusí otočit je všechny jednotlivě, což rozhodně NECHCETE.

Můžete to však nastavit tak, jak popisujete, pokud je nejnovější záloha vytvořena bez razítka data. Pokud proces zálohování vytvoří /root/backup.tar.gz můžete například použít následující konfiguraci logrotate:

/root/backup.tar.gz {
    rotate 5
    nocompress
    dateext
    dateformat _%Y-%m-%d
    extension .tar.gz
    missingok
}

Rychlý přehled možností zde:

  • rotate 5 -- před smazáním ponechejte 5 otočení
  • nocompress -- po otočení soubory nekomprimujte
  • dateext -- místo zvyšování čísel použijte datum jako rozšíření rotace
  • dateformat _%Y-%m-%d – nastavte formát rozšíření data, který chcete použít
  • extension .tar.gz -- vytvořte .tar.gz přijít po prodloužení rotace
  • missingok -- pokud tam soubor, který chceme otočit, není, nedělejte si s tím starosti a pokračujte (výchozí nastavení je vyvolat chybu)

Doufám, že to pomůže!

Řešení 2:

Nemusíte k tomu používat logrotate. Stačí použít příkaz jako tento:

ls -1 /root/backup_* | sort -r | tail -n +6 | xargs rm > /dev/null 2>&1

Tento příkaz ponechá posledních 5 souborů a odstraní zbývající (pokud existují). Můžete jej použít v úloze cron.

Řešení 3:

Logrotate otáčí soubory, takže odpověď je ano - pravděpodobně, a pokud nemáte dostatečná oprávnění, umístěte je do /backup nebo tak něco. Zkontrolujte, jakou skupinu a uživatele mají rotované protokoly :-).

V logrotate jsou možnosti pro kompresi, tedy pokud NENÍ nakonfigurováno "compress" - tak to nebude zkoušet. Také ve vašem případě možnost "otočit 5".

Podívejte se do /etc/logrotate.d (nebo kdekoli, kde je to ve vašem systému uloženo)


Linux
  1. Grep:Vyčerpaná paměť?

  2. Přejmenovat soubory v adresáři?

  3. Dd:Více vstupních souborů?

  1. Jak používat Logrotate ke správě souborů protokolu

  2. Jak zajistit, aby se změny log-rotace projevily

  3. logrotate:ponechat N nejnovějších souborů, ale nepřejmenovávat

  1. Jak spravovat soubory protokolu pomocí Logrotate v Linuxu

  2. Vložit soubory bez oddělovače?

  3. Odstraňte soubory pomocí logrotate