「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