facebook twitter hatena line email

「Linux/コマンドメモ/rm」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(ページの作成:「==サブも含めてディレクトリごと削除== rm -fr /var/.backup/tmp_export2/ ==30日以上たったログファイルを削除== find /tmp/log -name '*.log' -...」)
 
 
行26: 行26:
 
==ファイル削除==
 
==ファイル削除==
 
  find /tmp/log -type f -exec rm {} \;
 
  find /tmp/log -type f -exec rm {} \;
 +
 +
==大量ファイル削除時( /bin/rm: 引数リストが長すぎます)エラー対処法==
 +
echo /tmp/*.log | xargs rm
 +
参考:http://blog.mizoshiri.com/archives/150

2015年6月10日 (水) 00:55時点における最新版

サブも含めてディレクトリごと削除

rm -fr /var/.backup/tmp_export2/

30日以上たったログファイルを削除

find /tmp/log -name '*.log' -mtime '+30' -exec rm -f {} \;

こちらのほうが高速?

find /tmp/log -name '*.log' -type f -mtime '+30' -print | xargs rm

引数に付けたdirpath内の30日以上たったログファイルを削除

sh rmlog.sh var/log1 var/log2
  • rmlog.sh
#!/bin/bash
for dirpath in $@
do
  if expr "$dirpath" : "[A-z0-9][A-z0-9_-]*$" > /dev/null; then
#  if [[ "$dirpath" =~ ^[A-z0-9][_A-z0-9_-]*$ ]]; then
    if [ -e $dirpath ]; then
      find $dirpath -name '*.*' -type f -mtime '+30' | xargs --no-run-if-empty rm -v
    fi
  else
    echo "error dirpath=$dirpath"
  fi
done

ファイル削除

find /tmp/log -type f -exec rm {} \;

大量ファイル削除時( /bin/rm: 引数リストが長すぎます)エラー対処法

echo /tmp/*.log | xargs rm

参考:http://blog.mizoshiri.com/archives/150