Назад | Перейти на главную страницу

Использование диска резко возросло после удаления 5 миллионов строк журнала

У меня есть файл журнала из 25 миллионов строк. Я удалил 5 миллионов строк из этого файла вручную с помощью vim. Ниже показано использование дискового пространства сервера до удаления журналов. Я удалил логи nginx из /var/log/nginx/ папка.

$df -kh
Filesystem      Size  Used Avail Use% Mounted on
udev             15G   12K   15G   1% /dev
tmpfs           3.0G  500K  3.0G   1% /run
/dev/xvda1       48G   35G   11G  77% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
none            5.0M     0  5.0M   0% /run/lock
none             15G     0   15G   0% /run/shm
none            100M     0  100M   0% /run/user

После удаления журналов использование дискового пространства увеличилось почти на 11 % Я не понимаю, что здесь пошло не так. Ниже показано использование диска после удаления журналов.

$ df -kh
Filesystem      Size  Used Avail Use% Mounted on
udev             15G   12K   15G   1% /dev
tmpfs           3.0G  504K  3.0G   1% /run
/dev/xvda1       48G   40G  5.6G  88% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
none            5.0M     0  5.0M   0% /run/lock
none             15G     0   15G   0% /run/shm
none            100M     0  100M   0% /run/user

Любой совет специалиста будет здесь большим подспорьем. Спасибо

Ниже приводится вывод ls -alht /var/log/nginx/

total 19G
-rw-r--r--  1 root     root   5.5G Jan  5 23:07 example-afew.access.log.1
-rw-r--r--  1 root     root   951M Jan  5 23:07 example-accountant.access.log.1
-rw-r--r--  1 root     root   1.2G Jan  5 23:07 example-outlet.access.log.1
-rw-r--r--  1 root     root   2.1G Jan  5 23:07 example-folks.access.log.1
-rw-r--r--  1 root     root   1.9G Jan  5 23:07 example-api_clients.access.log.1
-rw-r--r--  1 root     root   1.4G Jan  5 23:07 example-registry.access.log.1
-rw-r--r--  1 root     root    19M Jan  5 23:07 example-services.access.log.1
-rw-r--r--  1 root     root    54M Jan  5 23:07 example-postman-jack.access.log.1
-rw-r--r--  1 root     root   123M Jan  5 23:07 example-referrific.access.log.1
-rw-r--r--  1 root     root   167M Jan  5 23:07 example-creds.access.log.1
-rw-r--r--  1 root     root    34M Jan  5 23:06 example-blog-service.access.log.1
-rw-r--r--  1 root     root   140M Jan  5 23:06 example-help-service.access.log.1
-rw-r--r--  1 root     root    28M Jan  5 23:04 example-mqttproxy.access.log.1
-rw-r--r--  1 root     root    25M Jan  5 23:02 example-push-notifications.access.log.1
-rw-r--r--  1 root     root    12M Jan  5 22:58 example-network-coverage.access.log.1
-rw-r--r--  1 root     root   2.4M Jan  5 22:53 example-dcl_shipments.access.log.1
drwxr-xr-x  2 www-data adm    4.0K Jan  5 21:51 .
-rw-r--r--  1 root     root   5.1G Jan  5 20:13 example-subs.access.log.1
-rw-r--r--  1 root     root   9.5M Jan  5 15:16 example-screw.access.log.1
drwxrwxr-x 12 root     syslog 4.0K Jan  5 06:39 ..
-rw-r--r--  1 root     root   149K Jan  4 08:30 example-nobono.access.log.1
-rw-r-----  1 www-data adm       0 Dec 23 06:49 error.log
-rw-r-----  1 www-data adm    2.1K Dec 22 20:38 error.log.1
-rw-r-----  1 www-data adm     132 Dec 21 16:30 error.log.2.gz
-rw-r-----  1 www-data adm     155 Dec 20 14:47 error.log.3.gz
-rw-r-----  1 www-data adm       0 Jul 20 06:44 example-afew.error.log
-rw-r--r--  1 root     root   8.3K Jul 19 18:20 example-afew.error.log.1
-rw-r-----  1 www-data adm       0 Jun 24  2016 example-outlet.error.log
-rw-r--r--  1 root     root    14K Jun 23  2016 example-outlet.error.log.1
-rw-r--r--  1 root     root      0 Jun 21  2016 example-premium.access.log
-rw-r--r--  1 root     root      0 Jun 21  2016 example-premium.error.log
-rw-r-----  1 www-data adm       0 Jun 19  2016 example-push-notifications.access.log
-rw-r-----  1 www-data adm       0 Jun 19  2016 example-referrific.access.log
-rw-r-----  1 www-data adm       0 Jun 19  2016 example-services.access.log
-rw-r-----  1 www-data adm       0 Jun 19  2016 example-outlet.access.log
-rw-r-----  1 www-data adm       0 Jun 19  2016 example-subs.access.log
-rw-r-----  1 www-data adm       0 Jun 19  2016 example-afew.access.log
-rw-r-----  1 www-data adm       0 Jun 19  2016 example-api_clients.access.log
-rw-r-----  1 www-data adm       0 Jun 19  2016 example-blog-service.access.log
-rw-r-----  1 www-data adm       0 Jun 19  2016 example-screw.access.log
-rw-r-----  1 www-data adm       0 Jun 19  2016 example-nobono.access.log
-rw-r-----  1 www-data adm       0 Jun 19  2016 example-accountant.access.log
-rw-r-----  1 www-data adm       0 Jun 19  2016 example-dcl_shipments.access.log
-rw-r-----  1 www-data adm       0 Jun 19  2016 example-registry.access.log
-rw-r-----  1 www-data adm       0 Jun 19  2016 example-help-service.access.log
-rw-r-----  1 www-data adm       0 Jun 19  2016 example-creds.access.log
-rw-r-----  1 www-data adm       0 Jun 19  2016 example-mqttproxy.access.log
-rw-r-----  1 www-data adm       0 Jun 19  2016 example-network-coverage.access.log
-rw-r-----  1 www-data adm       0 Jun 19  2016 example-folks.access.log
-rw-r-----  1 www-data adm       0 Jun 19  2016 example-postman-jack.access.log
-rw-r--r--  1 root     root      0 Jun 17  2016 example-api_clients.error.log
-rw-r--r--  1 root     root      0 Jun 17  2016 example-blog-service.error.log
-rw-r--r--  1 root     root      0 Jun 17  2016 example-screw.error.log
-rw-r--r--  1 root     root      0 Jun 17  2016 example-nobono.error.log
-rw-r--r--  1 root     root      0 Jun 17  2016 example-accountant.error.log
-rw-r--r--  1 root     root      0 Jun 17  2016 example-dcl_shipments.error.log
-rw-r--r--  1 root     root      0 Jun 17  2016 example-registry.error.log
-rw-r--r--  1 root     root      0 Jun 17  2016 example-help-service.error.log
-rw-r--r--  1 root     root      0 Jun 17  2016 example-creds.error.log
-rw-r--r--  1 root     root      0 Jun 17  2016 example-mqttproxy.error.log
-rw-r--r--  1 root     root      0 Jun 17  2016 example-network-coverage.error.log
-rw-r--r--  1 root     root      0 Jun 17  2016 example-courier.access.log
-rw-r--r--  1 root     root      0 Jun 17  2016 example-courier.error.log
-rw-r--r--  1 root     root      0 Jun 17  2016 example-folks.error.log
-rw-r--r--  1 root     root      0 Jun 17  2016 example-postman-jack.error.log
-rw-r--r--  1 root     root      0 Jun 17  2016 example-push-notifications.error.log
-rw-r--r--  1 root     root      0 Jun 17  2016 example-referrific.error.log
-rw-r--r--  1 root     root      0 Jun 17  2016 example-services.error.log
-rw-r--r--  1 root     root      0 Jun 17  2016 example-subs.error.log
-rw-r--r--  1 root     root      0 Jun 17  2016 access.log

Vim записал оставшееся содержимое вашего журнала в новый индексный дескриптор. Старый файл все еще открыт, и все предыдущее содержимое, выполненное службой, входит в него.

Проверьте наличие открытых удаленных файлов с помощью:

lsof | grep deleted

Для очистки дискового пространства необходимо закрыть удаленный файл, например, перезапустив службу.

В следующий раз сделайте как logrotate copytruncate: скопируйте то, что вы хотите сохранить, и обрежьте старый файл.