После использования 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
), и сообщите о результатах. Спасибо.
Ваши текущие журналы в порядке, но без .1
. Это хорошо, и вы можете удалить его с помощью:
sudo rm /var/log/*.1
Теперь ваша команда не работает из-за этого:
sudo 'Everything here runs as root' > Everything here run as user
Так что, если вы хотите сделать то, что вы пытались правильно будет:
sudo sh -c "echo '' > kern.log.1"
Это потому, что канал открывает оболочку с текущим пользователем.
Вы можете обрезать журналы без удаления с помощью
cat /dev/null > file.log
Но резервное копирование и архивирование журнала перед выполнением команды полезно.