- 締切済み
CPコマンドでファイルがコピーできない
こんにちは。 UNIX上でCPコマンドを使用したのですが、 以下のエラーが発生している為にコピーが出来ません。 大変申し訳ございませんが、 解決方法をアドバイスして頂けますよう よろしくお願い致します。 (実施コマンド) cp -f /oradata/db_FB-RT-D1.tar.gz /mnt/smb/db_FB-RT-D1_2006-12-06_Wed.tar.gz ※/oradata/db_FB-RT-D1.tar.gzの状態です。 -rw-r--r-- 1 root root 3284833199 12月 6 04:42 db_FB-RT-D1.tar.gz 実施ユーザは以下のコマンドでクーロンに設定して行いました。 file_copy.shの中に『cp -f /oradata/db_FB-RT-D1.tar.gz /mnt/smb/db_FB-RT-D1_2006-12-06_Wed.tar.gz』コマンドが あります。 su - root -c "/backup/bin/file_copy.sh"
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- ham_kamo
- ベストアンサー率55% (659/1197)
> su - root -c "/backup/bin/file_copy.sh" とありますが、cronでわざわざrootにsuする必要はあるのでしょうか? 見たところオラクルのDBをエクスポートして圧縮したファイルか何かをバックアップしているようですが、cronでコピーを実行したいのであれば、 ・rootユーザにcronを設定する もしくは ・cronを実行するユーザがcpを行えるように、コピー元とコピー先ディレクトリ、ファイルにアクセスできるように適切にアクセス権を設定し、cronではsuせずにそのまま/backup/bin/file_copy.sh を実行する。 のどちらかにしたらいいのではないのでしょうか。
文章が後半よくわからないのですが・・・ 要は、cronでroot権限でcpを実行しようとした、ということですか? だとしたら、 rootのパスワードが設定してある限り、無理、です。 cronから自動でrootにはなれません。 file_copy.shにsetuidフラグをつけるとできそうな気もしますが・・ このへんは、OSのセキュリティポリシーにもよるので、 試してみてください。
補足
>cronでroot権限でcpを実行しようとした、ということですか? >だとしたら、 >rootのパスワードが設定してある限り、無理、です。 >cronから自動でrootにはなれません。 現状、違うshファイルもコマンド「su - root -c "/backup/bin/XXX.sh"」で動作確認している事は確認できています。 ファイルサイズが余りにも大きいとコピーできないという事はありませんか? 因みにファイルサイズは -rw-r--r-- 1 root root 3285938526 12月 7 04:42 /oradata/db_FB-RT-D1.tar.gz です。 よろしくお願い致します。