3つの記述方法があります。-deletefindコマンドを使ってn日前のファイルを削除する記述方法の解説findコマンドの基本形findコマンドは、ファイルを探すときに使うコマンドで、基本形は以下になります。+5findコマンドの基本形に対して、日付を指定してファイルを探すコマンドの記述方法の一つの例が上記になります。+5」の部分が日付を指定するオプションになります。+n「+」が付く場合は、n日前以前((n+1)日より古い。24時間×(n+1)日より過去)のファイル、フォルダを対象に検索します。-n「-」が付く場合は、n日前以降(n日より新しい。24時間×n日から現在まで)のファイル、フォルダを対象に検索します。n「+」も「-」付かない場合は、n日前(24時間×n日~24時間×(n+1)日の間)のファイル、フォルダを対象に検索します。+n「-mtime」オプションは「n日」ですが、「-mtime」の代わりに「-mmin」を指定することで、「n分」を指定することができます。n日に小数点を指定することもできる下記のように「-mtime」のパラメーターとして「-0.5」のように整数ではなく小数を指定することもできます。-0.5この場合は、12時間前から現在までのものが対象になります。0時に「-daystart」オプションを付けない記述の場合は、コマンドを実行した日時を基準として、n日前を判定します。0時が基準となります。00:00:00」が対象になります。23:59:59」までではないようです。3種類ある先に書いたコマンドのオプションとして指定している「-mtime」「-mmin」は、Linuxのタイムスタンプの一つである「mtime」の日時を見て判断します、というオプションです。「mtime」が一般的なファイルの更新日時になりますが、「ctime」「atime」を条件と指定したい場合は、同様に「-ctime」「-atime」「-cmin」「-amin」をオプションとして指定することができます。Linuxのタイムスタンプに関しては、下記の記事で詳しく解説していますので参考にしてください。Linuxのタイムスタンプはmtime、ctime、atimeの3種類。+5上記のコマンドは、5日前のファイルを削除する、という条件ですが、加えて、「.log」が付くログファイルだけ削除したい、「.gitkeep」ファイルは削除したくない、といった条件が必要な場合もあるでしょう。そんなときは、下記のように指定します。-nameオプションでファイル名を指定する「-name」オプションで該当する名前を追加します。「*.log」のように正規表現を利用した記述も可能です。-nameオプションでファイル名を対象外にする「-name」オプションを使うと、該当する名前のファイルが対象になりますが、ファイルの名前が含まれているものを除外したいときは「!」「-not」オプションを追加します。".gitkeep"「!」でも「-not」でも動作は同じです。-name」オプションを組み合わせるありそうな条件が思い浮かびませんが、ファイル名に「e」が含まれるファイルのうち、「.gitkeep」ファイルは除外したい場合は、以下のように記述します。".gitkeep"「-type」オプションでファイルとフォルダを区別するfindコマンドを実行する対象のフォルダの中にファイルもフォルダもある場合、ファイルだけを選択したい、フォルダだけを選択したい、という場合もあるでしょう。そんなときは、「-type」オプションでファイル、フォルダを区別することができます。「-type」オプションに「f」を付与するとファイルが選択されます。f「-type」オプションに「d」を付与するとフォルダ(ディレクトリ)が選択されます。\;」の部分が、findで見つかったファイルを削除する、という処理の部分です。findコマンドで見つかったファイル、フォルダに対して何かしらの処理を実行するオプションが「-exec」になります。\;上記が「-exec」オプションの標準形です。\;」の場合は「-exec」オプションで実行するコマンドが「rm」(ファイル、フォルダを削除)ということです。-fオプションに関係なくエラーメッセージが出ていました。)また、「{}」は、findコマンドで見つかったファイルを「[command]」で実行する際のパラメーターにする、という意味です。「\;」は、-execオプションがここで終わりますよ、という意味の記述です。\;」とすることでフォルダも削除することができるようになります。「rm」コマンドの「-r」オプションがフォルダも削除するオプションになります。\;」とすることで対応が可能です。findコマンドで取得したファイルリストを削除するxargsコマンドは、「標準入力やファイルからリストを読み込みコマンドラインを作成して実行する」コマンドです。xargsコマンドに取り込み「rm」コマンドのパラメーターとして利用する、といった使い方ができます。\;「xargs」コマンドでは下記のように記述する、ということになります。[command]当然ながら、「rm」コマンドにはオプションも設定することができ、下記のようにすればフォルダも含めて削除することができます。-deleteオプション実は、findコマンドには、「-exec」オプションや「xargs」コマンドを組み合わせることなく、簡単に削除するオプション「-delete」オプションが用意されています。-delete上記のように「-delete」オプションを加えるだけで、findで対象になったファイルを削除する事ができます。「-delete」オプションは、フォルダの中身が空の場合はフォルダも削除してしまいます。(フォルダが空ではない場合は、エラーメッセージが表示され、削除されません。OSによっては使えない可能性があるようです。CentOS7では動作しました。-execオプション、xargsコマンド、-deleteオプションの違い「-execオプション」と「xargsコマンド」の違いは、実行スピードです。findコマンドで取得したファイルが、下記だったとします。test1.txttest2.txttest3.txt「-execオプション」は、下記のように処理をします。test3.txt対して、「xargsコマンド」は、下記のように処理をします。1回で処理する「xargsコマンド」の方が高速に処理できるのです。そのため、削除するファイルの数が多い場合は、積極的に「xargsコマンド」を使うほうがよさそうです。「-delete」コマンドのスピードはよく分かりませんが、削除する処理に対して細かなオプションを指定する必要がない場合は、簡潔に記述できる良さがあります。今回紹介しているコマンドですが、ファイルを削除するコマンドになります。そのため、いきなり使ってみるのではなく、何度も実験をして、確実な確認をしてから実行してください。実験をする際は、「-exec」以降を削除して、下記の部分だけを実行して、ファイルのリストを作成してみるといいでしょう。+5出力されるファイルのリストが想定通りか、を確認してからファイルを削除するオプションを追加しましょう。-l」コマンドを追加してみるなど、万一の場合でも不具合が生じにくいコマンドで実験することをおすすめします。findコマンドでファイルを抽出します。その実験する際にファイルの更新日付を指定した日時に変更する必要がありますが、その場合は「touch」コマンドを使います。12:00:00"」の部分を記述しないと、現在の日時の更新日付になります。3つある)と、そのタイムスタンプを更新するコマンド「touch」の詳しい解説は下記を参照してください。Linuxのタイムスタンプはmtime、ctime、atimeの3種類。2019.06.18追記コマンドを入力して実行する場合は、これまでに説明した内容で問題ないでしょう。ファイルの削除が実行されれば削除したファイルのリストが表示されますので、確認ができます。cronで自動実行する場合には実行された処理(削除されたファイル)をログとして出力しないと処理が実行されたのか確認できないため、ログ出力の方法について改めて確認しました。その結果、私は下記の構文を採用することにしました。/var/www/logs/delete.logこの構文であれば、実行した日時が出力された後、削除したログが出力されます。先の構文に行き着くまでにいくつかの構文についても実験を行いました。その結果、利用するコマンドによっては削除したファイルが取得できない場合もありました。具体的には下記のようになります。2>&1crontabに上記のように設定した場合は、正常に処理が実行されたときはいずれもログが出力されませんでしたので、ログファイルの出力処理を記述しても意味がありませんでした。rm」の処理の場合は、削除対象ファイルがない場合、下記のエラーが出力されました。information.また、更に下記のような構文を実験しました。※下記の構文では、対象ファイルがない場合は何も出力されません。オペランドがありません」が出力されます。****」「****を削除しました」が付きます。オペランドがありません」が出力されます。※下記の構文では、対象ファイルがない場合は何も出力されません。****」「****を削除しました」が付きます。※下記の構文では、対象ファイルがない場合は何も出力されません。※下記の構文にすると、実行した日時を追記することができます。/var/...」を先に書くと「削除しました」の後ろに日付が追記されてしまいます。2>&1123456789101112131415161718192021※下記の構文では、対象ファイルがない場合は何も出力されません。オペランドがありません」が出力されます。****」「****を削除しました」が付きます。オペランドがありません」が出力されます。2>&1※下記の構文では、対象ファイルがない場合は何も出力されません。****」「****を削除しました」が付きます。2>&1※下記の構文では、対象ファイルがない場合は何も出力されません。2>&1↑対象ファイルがない場合は何も出力されない※下記の構文にすると、実行した日時を追記することができます。/var/...」を先に書くと「削除しました」の後ろに日付が追記されてしまいます。2>&1その結果、先に示した構文が一番よろしかろう、という結論にいたり、それを採用することにしました。LinuxコマンドGoogleAdwordsGoogleAdwords最後までお読みいただきましてありがとうございます。コメントをキャンセルメールアドレスが公開されることはありません。*サイト下記の空欄を埋めてください。date*日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)※入力いただいたコメントは管理者の承認後に掲載されます。関連記事Linuxのタイムスタンプはmtime、ctime、atimeの3種類。touchコマンドで更新する方法Linuxのファイルのタイムスタンプにはmtime、ctime、atimeの3種類がある。その違いを詳細に解説しつつ、lsで表示するオプション、touchで更新するオプションを解説。sedコマンドの使い方と、perlコマンドを使っての方法を解説しています。PREVUPS無停電電源装置の鉛蓄電池式バッテリーの廃棄処分はビックカメラに持っていけばOKNEXTLinuxのタイムスタンプはmtime、ctime、atimeの3種類。小学校でプログラミングの授業が始まる。プログラムを組むことを覚えることが本質ではなく理論的な手順の組み立てのトレーニングをする授業という理解が必要だと思う。Parserを使ってスクレイピングをする方法を解説。インストール方法、読み込み方法。具体的なスクレイピングを実行するサンプルソースも。Parser」の使い方を解説。要素を取得する方法、そこから属性を取得する方法を解説。マニュアルにはない注意点なども解説。2020.01.27PHPでスクレイピング。スクレイピング」で検索すると「phpQuery」ばかりヒットするが、10年以上も放置されている。Parser」をオススメする。2020.01.26PHPのcURLでAPIやWebサイトへのアクセス方法。file_get_contentsとの比較PHPからWebサイトにアクセスしてHTMLを取得、APIにアクセスして情報を取得する場合は、cURLがオススメ。file_get_contentsでも可能だがエラー制御に難がありトラブルのもとになる。add_shortcode関数を使ったショートコードという機能を利用します。不正なコピーコンテンツからの直リンクを拒否する.htaccessの設定方法。拒否するサイトを指定、許可するサイトを指定する方法、単純な拒否と画像の差し替えを解説。口コミサイトを作るために必要な評価点、レビューを投稿できるプラグインを探して評価。10プラグインをチェックし、8プラグインは詳細解説付き。2014.07.17BackWPupでバックアップ・リストア(復元)の具体的手順BackWPupその9。バックアップファイルからのリストア(復元)の手順です。109キーボード)は日本人サイズのキーボード。ショートカットも押しやすく女性や子供にも優しいサイズ。Web開発・運用に役立つ記事を中心に紹介しています。