0

cronジョブを処理する方法がわかりませんが、実行したいことを説明できます。これを実行する方法の経験がある人は、非常に高く評価されます。

  1. ディレクトリ内の最も古いファイルを削除する
  2. ディレクトリに少なくとも8つの最新ファイルを保持します

出来ますか?私はこれに関するドキュメントを数時間理解しようとしてきましたが、これらの処理方法を学ぶ時間を節約したいと思いました...私のホストは、コントロールパネルのバックエンドにcronジョブを入力することを許可しています。

このコマンドを見つけました

(ls -t|head -n 5;ls)|sort|uniq -u|xargs rm

しかし、それは私がどのディレクトリから削除したいのかを知っているようには見えません...そして私はそれが何をするのか分かりません...

4

1 に答える 1

0

コメントで既に書いたように、必要なことを実行するスクリプトは cron から独立しています。ここにあなたが望むことをする可能性があります:

cd /path/to/dir; ls -t | tail -n +9 | xargs rm

説明

  • cd /path/to/dir: ディレクトリに移動
  • ls -t: ディレクトリ内のすべてのファイルのリストを取得し、最終更新日で並べ替え、新しいものから順に並べます
  • tail -n +9: 9 行目から始まるすべての行 (この場合はファイル名) を選択します。
  • xargs rm: 前のコマンドで「選択」されたファイルを削除します

9 行目以降をすべて選択することで、最新の 8 ファイルが削除されることはありません。

コマンドはファイルのみを削除するため、フォルダーにはファイルのみが保存されていると想定していますrm。フォルダとそのすべての内容も削除するには、 を使用する必要がありますrm -r

cdコマンド ( 、lstailxargsなど)の詳細な説明を読むには、次をrm使用します。man <command>

于 2012-10-08T07:54:54.703 に答える