パス上にいくつかのファイルを見つけようとしています/local/Java_apps/
し、シェルスクリプトを使用してそれらを削除し、/home/jboss
コードは次のとおりです。
STAMP = $(date + "%m%d%Y%H%M%S") Sudo -u jboss find/local/Java_apps/-type f -iname '* .pdf '-mtime +180 -print -delete >> /home/jboss/.log_$STAMP 2>&1
ls -ld /local/Java_apps
コマンドは以下を提供します:
drwxrwxr-x+ 3 root root 4096 Oct 10 2017 /local/Java_apps/
Crontabは次のようになります。
0 1 * * 4 /etc/cron.weekly/servercleanup.sh
スクリプトをcrontabで実行すると、次のエラーが発生します。
find: failed to restore initial working directory: Permission denied
find
は、内部操作の一部としてディレクトリを変更します。コマンドを実行すると、jboss
ユーザーがアクセスする権限のないディレクトリに座っているので、find
がディレクトリを元のディレクトリに戻そうとすると、それは失敗します。問題を修正するには、jboss
がアクセスを許可されているディレクトリからコマンドを実行します。