dポイントプレゼントキャンペーン実施中!

こんにちは。

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"

A 回答 (2件)

> su - root -c "/backup/bin/file_copy.sh"


とありますが、cronでわざわざrootにsuする必要はあるのでしょうか?
見たところオラクルのDBをエクスポートして圧縮したファイルか何かをバックアップしているようですが、cronでコピーを実行したいのであれば、

・rootユーザにcronを設定する

もしくは

・cronを実行するユーザがcpを行えるように、コピー元とコピー先ディレクトリ、ファイルにアクセスできるように適切にアクセス権を設定し、cronではsuせずにそのまま/backup/bin/file_copy.sh を実行する。

のどちらかにしたらいいのではないのでしょうか。
    • good
    • 0

文章が後半よくわからないのですが・・・



要は、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
です。

よろしくお願い致します。

補足日時:2006/12/07 14:07
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています