Файлы журнала занимают слишком много места, и я не могу удалить \ очистить их

После использования Ubuntu в течение 2,5 месяцев, мой каталог / var достигал 37 ГБ или ОЗУ, в то время как мой каталог / - это все 50 ГБ или ОЗУ, а оставшееся пространство - для моего /home.

Я обнаружил, что следующие файлы занимают слишком много места в /var/log

-rw-r----- 1 syslog            adm   14G Feb  2 07:46 kern.log.1
-rw-r----- 1 syslog            adm   13G Feb  2 07:46 ufw.log.1
-rw-r----- 1 syslog            adm  5.9G Feb  2 07:46 syslog.1
-rw-r----- 1 syslog            adm  451M Feb  2 23:53 syslog
-rw-r----- 1 syslog            adm  451M Feb  2 23:53 kern.log
-rw-r----- 1 syslog            adm  441M Feb  2 23:51 ufw.log

Дополнительный вопрос, что такое syslog и adm?!

Видение ufw там я проверил его конфигурацию

$ sudo ufw status verbose
Status: active
Logging: on (full) <<<<<

Итак, я установил низкий уровень регистрации

$sudo ufw logging low

Я прочитал, что logrotate должен обрабатывать прокрутку журнала, но его конфигурация, похоже, не обрабатывает /var/log каталог по умолчанию.

Это мое /etc/logrotate.conf содержимое файла

$ cat /etc/logrotate.conf 
# see "man logrotate" for details
# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 4

# create new (empty) log files after rotating old ones
create

# uncomment this if you want your log files compressed
#compress

# packages drop log rotation information into this directory
include /etc/logrotate.d

# no packages own wtmp, or btmp -- we'll rotate them here
/var/log/wtmp {
    missingok
    monthly
    create 0664 root utmp
    rotate 1
}

/var/log/btmp {
    missingok
    monthly
    create 0660 root utmp
    rotate 1
}

# system-specific logs may be configured here

Я пытался удалить log-file-name.log.digit (т.е. kernel.log.1, ufw.log.1, whatever.log.0), но не смог. Я пытался sudo echo '' > kernel.log.1, но я тоже потерпел неудачу. Всегда говорится

$ sudo echo '' > kern.log.1 
bash: kern.log.1: Permission denied

Перезапуск тоже не помог. Каталог журналов не был очищен (я думал, что linux очищает все журналы, когда он перезапускается, очевидно, я ошибаюсь), и я все еще не мог очистить \ удалить упомянутые журналы.

Как мне очистить эти журналы и убедиться, что я больше никогда не столкнусь с этой ситуацией?

Использование Ubuntu 13.10

Ответ

sudo rm /var/log/*.1

Но я подозреваю , что моя команда не сработала, потому что я пытался сделать то же самое, находясь в каталоге /var/log (то есть pwd = /var/log, затем запустив sudo rm kernel.1.log). Если кто-то сталкивается с такой же ситуацией, попробуйте удалить файлы * .1, находясь в каталоге /var/log (т.е. cd /var/log;sudo rm*.1), и сообщите о результатах. Спасибо.

5
задан 4 February 2014 в 10:15

2 ответа

Ваши текущие журналы в порядке, но без .1. Это хорошо, и вы можете удалить его с помощью:

sudo rm /var/log/*.1

Теперь ваша команда не работает из-за этого:

sudo 'Everything here runs as root' > Everything here run as user

Так что, если вы хотите сделать то, что вы пытались правильно будет:

sudo sh -c "echo '' > kern.log.1"

Это потому, что канал открывает оболочку с текущим пользователем.

0
ответ дан 4 February 2014 в 10:15

Вы можете обрезать журналы без удаления с помощью

cat /dev/null > file.log

Но резервное копирование и архивирование журнала перед выполнением команды полезно.

0
ответ дан 4 February 2014 в 10:15

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

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