4

私は Linux をほとんど使用しないため、bash スクリプトや cron ジョブの経験がありません。実はこれが初めての試みです。したがって、おそらく修正するのは非常に簡単です。

私は次のものを持っています:

/etc/cron.d/clear-mixtape-dir.sh パーミッションは: 644

#!/bin/bash
# Clears the /tmp/mixtape2 directory
rm -rf "/tmp/mixtape2/"*

私のcrontabファイルは次のようになります:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

*/15 * * * * /etc/cron.d/clear-mixtape-dir.sh >/dev/null 2>&1

.sh スクリプトを 15 分ごとに実行しようとしています。

私が見つけたものはすべて、これはうまくいくはずだと言っていますが、うまくいきません。

この場合、(/tmp/mixtape2/ 内のファイルに対する) ファイル許可のようなものは重要ですか? または、実際の .sh スクリプトに設定されたパーミッション - 実行可能に設定する必要があるのでしょうか?

アドバイスをいただければ幸いです。

4

3 に答える 3

4

のスクリプトから .sh 拡張子を削除する/etc/cron.dと、呼び出されます。

run-parts名前にピリオドが含まれるファイルは無視されるため、.sh 拡張子がスクリプトの実行を妨げています。

man cron~から

ファイルは、run-parts(8) で使用されているのと同じ命名規則に準拠する必要があります。ファイルは、大文字と小文字、数字、アンダースコア、およびハイフンのみで構成される必要があります。

于 2013-09-18T01:04:00.853 に答える