- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:cronでバックアップsh)
cronでのバックアップシェルに権限エラーが発生する問題について
このQ&Aのポイント
- hetemlというレンタルサーバでcronに登録したバックアップ用のシェルスクリプトで権限エラーが発生しています。
- エラーメッセージによると、/home/sites/heteml/users/xxx/db_bakkup.shへのアクセス権がないようです。
- アクセス権の問題を解決する方法や原因について、ご教授いただけないでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
だれが吐き出しているエラーであるか記載しなとだめですよね。 cronデーモンのログに出ているのか、OSのシステムログなのか? ちなみにそれぞれ見ましたか? それによって「権限が無い」の意味合いが違うと思います。 cronであれば、実行者権限の設定を変えること。 http://search.yahoo.co.jp/search?b=1&n=10&ei=UTF-8&fr=ie8sc&p=Linux+cron+%E8%A8%AD%E5%AE%9A%E3%81%AE%E4%BB%95%E6%96%B9 で設定の仕方がでていますね。設定された実行ユーザーで行うので、その設定されているユーザーに実行権がないと、cronデーモンでは「権限が無い」とでると思われるが・・・・ db_bakkup.sh=[シェル] の内容であれば、SHでこのシェルファイルの実行で「権限が無い」と言っている。つまり、No1さんが言うとおり 777 755 775 にすればいいことになる。いずにせよ、私ならまず設定をしっかり把握する事からお勧めする。それからでも遅くはないですよ。
その他の回答 (1)
- gtx456gtx
- ベストアンサー率18% (194/1035)
回答No.1
/home/sites/heteml/users/xxx/db_bakkup.sh のパーミッションが不足している? 取りえず、全ての権限を与える「777」を与えてcronで実行したらどうなります? >mysqldump -h$db_host $db_name -u$db_name -p$db_pass --opt > $bk_file 「mysqldump」のパスが指定されていないのも気になりますが、777でどうなるかです。
お礼
#1さん,#2さんレス有難うございます。 権限エラーに関してはshファイルのパーミッションを777に設定することで解決しました! その後もハマリましたが、 ・shファイルをFTPソフトで転送時にアスキーモードで転送する ・mysqldump構文の-pの後ろにスペースを入れない (mysqldump -h $db_host $db_name -u $db_name -p$db_pass --opt > $bk_file ) という対処を行ったところ、無事バックアップが取れるようになりました。 この度はどうも有り難うございました!