こんにちは。ホーム ディレクトリに、コマンド ラインから正常に動作する bash スクリプトがあります (ファイル構造は、デフォルトのメディア テンプル DV です。< 特定のアクセス許可の問題が指摘されています)。しかし、cron から次のエラーを受け取ります: "/home/myFile.sh: 行 2: /var/www/vhosts/domain.com/subdomains/techspatch/installation.sql: アクセス許可が拒否されました" 注意: これは行 2 のみです... ローカル サーバーに正常に書き込みます。
以下は Bash ファイルです:
#!/bin/bash
mysqldump -uUSER -pPASSWORD -hHOST dbName> /var/www/vhosts/domain.com/subdomains/techspatch/installation.sql
mysql -uadmin -pPASSWORD -hlocalhost dbName< /var/www/vhosts/domain.com/subdomains/techspatch/installation.sql
bash から chmod できません (笑、はい、試しました)。そこにファイルを書き込んで、転送前に権限を設定するのは無駄です...
この状況について徹底的にグーグルで調べたが、やはりこれは珍しいようだ... 何かご意見があればありがたい
答え1
重要な環境変数はありますか (MySQL が注目するものかもしれません。私は MySQL にあまり詳しくありません)? cron ジョブは環境から開始されないため、bash スクリプトでいくつか定義する必要がある場合があります。