关于IT运维技术的
最佳实践博客网站

快速清空和删除Linux文件内容的几种方法

1、高效的删除日志文件的方法:

错误的删除log文件:

rm -f logfile

原因:应用已经打开文件句柄,直接删除会造成:

  1. 应用无法正确释放日志文件和写入
  2. 显示磁盘空间未释放

正确的方法:

cat /dev/null > logfile

把一下代码保存为.sh后缀脚本来运行即可清除Linux系统日志

#!/bin/sh  
cat /dev/null > /var/log/syslog
cat /dev/null > /var/adm/sylog
cat /dev/null > /var/log/wtmp
cat /dev/null > /var/log/maillog  
cat /dev/null > /var/log/messages  
cat /dev/null > /var/log/openwebmail.log  
cat /dev/null > /var/log/maillog  
cat /dev/null > /var/log/secure  
cat /dev/null > /var/log/httpd/error_log  
cat /dev/null > /var/log/httpd/ssl_error_log  
cat /dev/null > /var/log/httpd/ssl_request_log  
cat /dev/null > /var/log/httpd/ssl_access_log
cat /dev/null > /usr/local/nginx/logs/access.log
cat /dev/null > /usr/local/nginx/logs/error.log

其它几种类似的方法:

$ : > filename #其中的 : 是一个占位符, 不产生任何输出.
$ > filename
$ echo “” > filename
$ echo /dev/null > filename
$ echo > filename

2、高效的删除琐碎文件的方法:

利用rsync –delete将目标文件夹以一个空的文件夹来替换。rsync功能很强大,与–exclude结合起来使用,可以选择性的删除文件。

测试:

1、创建测试的1万文件

mkdir test_dir && cd test_dir && touch file{1..10000}.txt

2、使用rsync命令删除文件

➜  time rsync -a --delete ~/test_dir/* /tmp/
rsync -a --delete ~/test_dir/* /tmp/  0.05s user 0.03s system 66% cpu 0.120 total

3、使用find命令删除文件

➜  time find ~/test_dir -type f -delete        
find ~/test_dir -type f -delete  0.01s user 0.17s system 88% cpu 0.203 total

4、使用find与xargs删除文件

➜  time find ~/test_dir -type f | xargs -L 100 rm
find ~/test_dir -type f  0.01s user 0.01s system 7% cpu 0.273 total
xargs -L 100 rm  0.02s user 0.05s system 21% cpu 0.322 total

5、使用find与xargs指定一次处理的数量

➜  time find ~/test_dir -type f | xargs -L 100 -P 100 rm    
find ~/test_dir -type f  0.01s user 0.01s system 9% cpu 0.161 total
xargs -L 100 -P 100 rm  0.03s user 0.12s system 61% cpu 0.249 total

6、使用传统rm命令删除

➜  time rm -rf ~/test_dir/*                                 
zsh: sure you want to delete all the files in /root/test_dir [yn]? y
rm -rf ~/test_dir/*  0.01s user 0.16s system 95% cpu 0.171 total

 

赞(0)
未经允许不得转载:菜鸟HOW站长 » 快速清空和删除Linux文件内容的几种方法
分享到: 更多 (0)

留下你的脚印

  订阅  
关注动态