ログファイルを空にできません

ログファイルを空にできません

私の職場のサーバーには、私が作成したスクリプトがあり、毎晩午前 0 時にログ ファイルをフォルダーにコピーし、このフォルダーを Amazon S3 にコピーして、元のファイルをゼロにします。

しかし、元のファイルがゼロ化されていないため、ディスク容量に影響が出ていることがわかりました。

私が使用するコマンドは次のとおりです。

cat /dev/null | tee /etc/vinter/logs/*

今日、このコマンドを個別に使用してみましたが、機能しませんでした。その後、他の 2 つを試しましたが、どれも機能しませんでした。

[root@APPSERVER11-S1 ~]# cat /dev/null | tee /etc/vinter/logs/*
[root@APPSERVER11-S1 ~]# ls -l /etc/vinter/logs/*
-rw-r--r-- 1 root root 9223905280 Sep 11 12:47 /etc/vinter/logs/rsp.appserver11-s1.apigoldnode-1.rsp.log
-rw-r--r-- 1 root root    9468202 Sep 11 12:47 /etc/vinter/logs/Services-APIGOLDNODE-1.log
-rw-r--r-- 1 root root          0 Sep 11 12:47 /etc/vinter/logs/Services-APIGOLDNODE-1.log.1
[root@APPSERVER11-S1 ~]#
[root@APPSERVER11-S1 ~]#
[root@APPSERVER11-S1 ~]# echo -n | tee /etc/vinter/logs/*
[root@APPSERVER11-S1 ~]# ls -l /etc/vinter/logs/*
-rw-r--r-- 1 root root 9224224768 Sep 11 12:48 /etc/vinter/logs/rsp.appserver11-s1.apigoldnode-1.rsp.log
-rw-r--r-- 1 root root    9493203 Sep 11 12:48 /etc/vinter/logs/Services-APIGOLDNODE-1.log
-rw-r--r-- 1 root root          0 Sep 11 12:47 /etc/vinter/logs/Services-APIGOLDNODE-1.log.1
[root@APPSERVER11-S1 ~]#
[root@APPSERVER11-S1 ~]#
[root@APPSERVER11-S1 ~]# printf '' | tee /etc/vinter/logs/*
[root@APPSERVER11-S1 ~]# ls -l /etc/vinter/logs/*
-rw-r--r-- 1 root root 9224380416 Sep 11 12:48 /etc/vinter/logs/rsp.appserver11-s1.apigoldnode-1.rsp.log
-rw-r--r-- 1 root root    9502868 Sep 11 12:48 /etc/vinter/logs/Services-APIGOLDNODE-1.log
-rw-r--r-- 1 root root          0 Sep 11 12:48 /etc/vinter/logs/Services-APIGOLDNODE-1.log.1

個別にも機能しません:

[root@APPSERVER11-S1 ~]# echo > /etc/vinter/logs/rsp.appserver11-s1.apigoldnode-1.rsp.log
[root@APPSERVER11-S1 ~]# ls -l /etc/vinter/logs/*
-rw-r--r-- 1 root root 9236357120 Sep 11 12:58 /etc/vinter/logs/rsp.appserver11-s1.apigoldnode-1.rsp.log
-rw-r--r-- 1 root root     520807 Sep 11 12:58 /etc/vinter/logs/Services-APIGOLDNODE-1.log
-rw-r--r-- 1 root root   10264642 Sep 11 12:54 /etc/vinter/logs/Services-APIGOLDNODE-1.log.1

truncateコメントで指示されているコマンドはうまく機能しませんでした:

[root@APPSERVER11-S1 ~]# truncate -s 0 /etc/vinter/logs/rsp.appserver11-s1.apigoldnode-1.rsp.log
[root@APPSERVER11-S1 ~]# ls -l /etc/vinter/logs/
total 8292
-rw-r--r-- 1 root root 9283125248 Sep 11 13:32 rsp.appserver11-s1.apigoldnode-1.rsp.log
-rw-r--r-- 1 root root    6026198 Sep 11 13:32 Services-APIGOLDNODE-1.log
-rw-r--r-- 1 root root          0 Sep 11 13:06 Services-APIGOLDNODE-1.log.1

バージョンはtee次のとおりです:

[root@APPSERVER11-S1 ~]# tee --version
tee (GNU coreutils) 8.22
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Mike Parker, Richard M. Stallman, and David MacKenzie.

ファイルシステムは ですxfs

[root@APPSERVER11-S1 ~]# df -Th
Filesystem                     Type      Size  Used Avail Use% Mounted on
devtmpfs                       devtmpfs  7.3G     0  7.3G   0% /dev
tmpfs                          tmpfs     7.3G     0  7.3G   0% /dev/shm
tmpfs                          tmpfs     7.3G  185M  7.1G   3% /run
tmpfs                          tmpfs     7.3G     0  7.3G   0% /sys/fs/cgroup
/dev/mapper/vg_main-lv_root    xfs        16G   14G  1.8G  89% /
/dev/mapper/vg_dados-lv_dados  xfs        20G   33M   20G   1% /datastorage
/dev/mapper/vg_dados-lv_docker btrfs      80G  128M   79G   1% /var/lib/docker
/dev/xvdb1                     xfs       497M  161M  337M  33% /boot
tmpfs                          tmpfs     1.5G     0  1.5G   0% /run/user/0
tmpfs                          tmpfs     1.5G     0  1.5G   0% /run/user/1002

別のサーバーで試してみたところ、最も頻繁に更新されるファイル (1 秒あたり多数の行) だけがゼロ化されませんでした。ファイルが頻繁に更新されるため、ゼロ化すらできないのでしょうか?

[root@APPSERVER21-S1 ~]# ls -l /etc/vinter/logs/
total 2046352
-rw-r--r-- 1 root root     3920496 Sep 11 14:35 PlusoftCRMIntegration-APISILVERNODE-1.log
-rw-r--r-- 1 root root 30891423129 Sep 11 15:27 rsp.appserver21-s1.apigoldnode-1.api-oi-gold.log
-rw-r--r-- 1 root root   406151168 Sep 11 15:27 rsp.appserver21-s1.apisilvernode-1.api-oi-silver.log
[root@APPSERVER21-S1 ~]# cat /dev/null | tee /etc/vinter/logs/*
[root@APPSERVER21-S1 ~]# ls -l /etc/vinter/logs/
total 492
-rw-r--r-- 1 root root           0 Sep 11 15:28 PlusoftCRMIntegration-APISILVERNODE-1.log
-rw-r--r-- 1 root root 30892328752 Sep 11 15:28 rsp.appserver21-s1.apigoldnode-1.api-oi-gold.log
-rw-r--r-- 1 root root           0 Sep 11 15:28 rsp.appserver21-s1.apisilvernode-1.api-oi-silver.log

この 2 番目のサーバーの/パーティション ファイル システムはxfs、最初のサーバーと同様です。

[root@APPSERVER21-S1 ~]# df -Th
Filesystem                     Type      Size  Used Avail Use% Mounted on
devtmpfs                       devtmpfs  3.6G     0  3.6G   0% /dev
tmpfs                          tmpfs     3.6G     0  3.6G   0% /dev/shm
tmpfs                          tmpfs     3.6G  137M  3.4G   4% /run
tmpfs                          tmpfs     3.6G     0  3.6G   0% /sys/fs/cgroup
/dev/mapper/vg_main-lv_root    xfs        16G  3.0G   13G  20% /
/dev/mapper/vg_dados-lv_dados  xfs        20G   33M   20G   1% /datastorage
/dev/mapper/vg_dados-lv_docker btrfs      80G  128M   79G   1% /var/lib/docker
/dev/xvdb1                     xfs       497M  161M  337M  33% /boot
tmpfs                          tmpfs     722M     0  722M   0% /run/user/0

場合によっては、ログ ファイルの一部がゼロになっても、数秒後に元のサイズに戻ることがあります。

[root@APPSERVER11-S1 ~]# cat /dev/null | tee /etc/vinter/logs/*
[root@APPSERVER11-S1 ~]# ls -l /etc/vinter/logs/
total 24
-rw-r--r-- 1 root root       0 Sep 11 18:13 rsp.appserver11-s1.apigoldnode-1.rsp.log
-rw-r--r-- 1 root root 3125765 Sep 11 18:13 Services-APIGOLDNODE-1.log
-rw-r--r-- 1 root root       0 Sep 11 18:13 Services-APIGOLDNODE-1.log.1
[root@APPSERVER11-S1 ~]# ls -l /etc/vinter/logs/
total 160
-rw-r--r-- 1 root root 9618808832 Sep 11 18:13 rsp.appserver11-s1.apigoldnode-1.rsp.log
-rw-r--r-- 1 root root    3131397 Sep 11 18:13 Services-APIGOLDNODE-1.log
-rw-r--r-- 1 root root          0 Sep 11 18:13 Services-APIGOLDNODE-1.log.1

何が問題なのでしょうか?

答え1

を実行してファイル全体を強制的に削除してみましたか?

# rm /var/log/logfile -f

関連情報