パスでいくつかのファイルを見つけて、シェルスクリプトを使用してそのファイルを削除し、次のコード/local/java_apps/
からログファイルを生成しようとしています。/home/jboss
切手=$(日付+"%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/
クローンタブは次のとおりです。
0 1 * * 4 /etc/cron.weekly/servercleanup.sh
crontab このスクリプトを実行すると、次のエラーが発生します。
find: failed to restore initial working directory: Permission denied
答え1
find
内部タスクの一部としてそのディレクトリを変更します。このコマンドを実行すると、ユーザーがjboss
アクセスできないディレクトリにあるため、find
元のディレクトリに復元しようとすると失敗します。この問題を解決するには、jboss
アクセスを許可するディレクトリでコマンドを実行します。