.DS_Store
開発コードを含むディレクトリのリストが定義されており、ファイルが存在しないか、生成された直後に削除されるようにしたいと思います。
次の方法でこれを行いますが、crontab
可能であれば複数の機能を実行するのではなく、上記のすべてのディレクトリを一度に渡したいと思いますcrontab
。
私crontab
:
15 * * * * root find /Users/vince/directories -name “.DS_Store” -depth -exec rm {} \;
他にもdirectories
合格したいこと以外にCode
いくつSites
かあります。
どうすればいいですか?
答え1
ユーザー個人のcrontabの6番目のフィールドにはユーザー名を含めないでください(あなたのユーザー名
root
があります)。 rootユーザーにジョブを実行させるには、rootのcrontabにジョブを追加を使用しますsudo crontab -e
。この
find
ユーティリティは最上位の検索パスのリストを使用します。find /some/path/a /some/path/b /other/path ...expression...
"..."
シェルでは、カラフルな引用符や印刷された引用符(“...”
)ではなく、まっすぐな引用符()を使用してください。引用符付き文字列は引用符で囲む.DS_Store
必要はありません。find
macOSのユーティリティ-delete
には-depth
。vince
特定のユーザーのホームディレクトリを参照するために使用できます~vince
。
上記を考慮すると、次のようなスケジュールが出ることがあります。
15 * * * * find ~vince/Code ~vince/Sites ~vince/"other dir" -type f -name .DS_Store -delete