忙しい現代人の腰&肩のお悩み対策!

rsyncでデータのバックアップをとっているのですが、次のようなエラーが出ています。

 rsync: mkstemp "ファイル名" failed: No such file or directory (2)
 rsync: stat "ファイル名" failed: No such file or directory (2)

そこで、エラーメッセージの中のファイル名をもとに、そのコピー元とコピー先のファイルを調べてみました。

すると、コピー元のファイルの絶対パス名の中に大文字だけのフォルダ名やファイル名が含まれていると、コピー先でその名前の部分が全部小文字になっていて、それがエラーの原因のようです。
例えば、コピー元の絶対パス名が
  /?????/AAA/BBBcc/ddd
だとすると、コピー先では
  /?????/aaa/BBBcc/ddd
となっています。

どうすれば、大文字のままコピーできて、エラーが出なくなるのでしょうか??

OSはFedora Core 3です。
「rsync --version」によると、
  rsync version 2.6.3 protocol version 28
です。
コピー先は外付けのUSBハードディスクで、fat32フォーマットです。

どうすればいいのでしょうか?
よろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

mount からやり直し.



参考URL:http://blog.cles.jp/item/2926
    • good
    • 0
この回答へのお礼

教えていただいたようにmountの設定を変えたら、解決しました。

ありがとうございました!

お礼日時:2012/01/26 17:47

このQ&Aに関連する人気のQ&A

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

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QrsyncのPermission denied

CentOS6.3にて
rsync -avvz root@172.30.1.21:/mnt/iptables/ /mnt/nas/iptables/
を実行しました。ログとして以下のものが出力されました。

<ログ>
opening connection using: ssh -l root 172.30.1.21 rsync --server --sender -vvlogDtprze.iLs . /mnt/iptables/
root@172.30.1.21's password:
receiving incremental file list
delta-transmission enabled
(1)rsync: chgrp "/mnt/nas/iptables/." failed: Permission denied (13)

<質問1>
(1)の意味がわからないのですが、rsyncは何をしようとしてなぜパーミッションエラーが出ているのでしょうか?
 ・root@172.30.1.21:/mnt/iptables/ は、別サーバのNFSをマウントしています。
 ・/mnt/nas/iptables/ は、NASドライブをcifstestユーザでマウントしています。
 【コマンド:mount -t cifs //NASのIP/cifs/ /mnt/nas/iptables/ -o username=cifsuser,iocharset=utf8,codepage=932】
 (NASにrootユーザが作れなかったため)
 ・rsync実行時は、rootユーザー。
になります。

<質問2>
ただ、パーミッションエラーが出てたのですが、以下ログが出力されており、
データのコピーが完了していました。

total: matches=0 hash_hits=0 false_alarms=0 data=3999447313
sent 546 bytes received 493957830 bytes 1123909.84 bytes/sec
total size is 3999426304 speedup is 8.10
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1505) [generator=3.0.6]

ためしにコピーされた一つのコピー元ファイル と コピー後のデータをdiffしてみた所
エラーも出ませんでした。サイズも一緒。

これは正しくコピーできていると信じていいのでしょうか?


ご教授おねがいします。

CentOS6.3にて
rsync -avvz root@172.30.1.21:/mnt/iptables/ /mnt/nas/iptables/
を実行しました。ログとして以下のものが出力されました。

<ログ>
opening connection using: ssh -l root 172.30.1.21 rsync --server --sender -vvlogDtprze.iLs . /mnt/iptables/
root@172.30.1.21's password:
receiving incremental file list
delta-transmission enabled
(1)rsync: chgrp "/mnt/nas/iptables/." failed: Permission denied (13)

<質問1>
(1)の意味がわからないのですが、rsyncは何をしようとしてなぜパー...続きを読む

Aベストアンサー

確証はないですが、

1. エラーメッセージに "rsync: chgrp ~" とあるなら、所有グループのファイル属性を変更しようとして失敗しているのではないでしょうか。コピー先に同じIDのグループが無いなどの理由で。

 $ man chgrp
で chgrp コマンドのマニュアルが見られます。


2. rsync error: some files/attrs were not transferred (see previous errors)
このエラーは、ファイルの属性(1のこと)を言っているのではないかと思います。

もしかすると
 $ ls -l
でファイルの属性を見ると、ファイル所有者のグループ名が違うのではないでしょうか?

Qrsync実行でmkdirエラー

rsyncコマンドでs1/s2/s3/a.txtというファイルをd1/s2/s3/にコピーしようとしているのですが
※d1ディレクトリはあるがd1/s2ディレクトリ、d1/s2/s3ディレクトリは存在していない。

$ rsync -avzu --delete s1/s2/s3/a.txt d1/s2/s3/
building file list ... done
rsync: mkdir "/home/hogehoge/d1/s2/s3" failed: No such file or directory (2)
rsync error: error in file IO (code 11) at main.c(381)
rsync: connection unexpectedly closed (8 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(359)

エラーが出てしまいます。


$ rsync -avzu --delete s1/a.txt d1/s2/
building file list ... done
created directory d1/s2
a.txt

sent 124 bytes received 40 bytes 109.33 bytes/sec
total size is 6 speedup is 0.04

成功します。


d1/s2/s3の場合でもディレクトリが作成されてコピーできるようにするにはどうしたら良いでしょうか?

OSはLinuxです。

rsyncコマンドでs1/s2/s3/a.txtというファイルをd1/s2/s3/にコピーしようとしているのですが
※d1ディレクトリはあるがd1/s2ディレクトリ、d1/s2/s3ディレクトリは存在していない。

$ rsync -avzu --delete s1/s2/s3/a.txt d1/s2/s3/
building file list ... done
rsync: mkdir "/home/hogehoge/d1/s2/s3" failed: No such file or directory (2)
rsync error: error in file IO (code 11) at main.c(381)
rsync: connection unexpectedly closed (8 bytes received so far) [sender]
rsync error: error ...続きを読む

Aベストアンサー

ディレクトリを予め作成しておくか
rsyncの対象をもっと上のディレクトリにするかが普通かと思われますが。

$ rsync -avzu --delete s1/s2/ d1/

Qillegal string offset

php5.3では動いていたプログラムをphp 5.4 で動かしたらwarning illegal string offsetが出て困っています。以下のプログラムでwarningが出ないようにするにはどのようにコーディングすればよいのでしょうか?


$a = array('exists' => 'foo');
if ($a['exists']['non_existent']) {
print 1;
}
print 2;
exit;

Aベストアンサー

isset()を使えばいいと思います

Q自動パスワード入力でscpするスクリプトでエラー「Unterminated quoted string」

Win2kのCygwinで下記のスクリプトを試してみました。

(ローカルのファイルをscpで自動転送)

$ uname -a
CYGWIN_NT-5.0 upsil 1.5.11(0.116/4/2) 2004-09-04 23:17 i686 unknown unknown Cygwin

$ cat ./test.sh
#!/bin/sh
HOST=192.168.1.105 # scp するマシン名を設定
UNAME=user01 # ログイン名を設定
PASSWD=xxxxxxxx # パスワ-ドを設定
TARGET=/cygdrive/c/cygwin/home/root/hoge
/usr/bin/zip -r $TARGET.lzh $TARGET
expect -c " # expect コマンドを実行
set timeout 20
spawn scp -P 60001 $TARGET.lzh $UNAME@$HOST:/home/fat32/ # expect コマンドの管理下でscpを実行する
expect login:\ ; send \"$UNAME\r\" # login: が出たらログイン名を打ち込む
expect sword:\ ; send \"$PASSWD\r\" # password: が出たらパスワ-ドを打ち込む
#expect \"$\" ; send \"ls\r\" # $ が出たら ls を打ち込む
#expect \"$\" ; send \"exit\r\" # $ が出たら exit を打ち込む

$ which expect
/usr/bin/expect

$ which zip
/usr/bin/zip

$ ./test.sh
と実行すると
: 9: Syntax error: Unterminated quoted string
となり、終ってしまいました。
「expect -c " # expect コマンドを実行」
が問題みたいなのですが何がまずかったのでしょうか?

Win2kのCygwinで下記のスクリプトを試してみました。

(ローカルのファイルをscpで自動転送)

$ uname -a
CYGWIN_NT-5.0 upsil 1.5.11(0.116/4/2) 2004-09-04 23:17 i686 unknown unknown Cygwin

$ cat ./test.sh
#!/bin/sh
HOST=192.168.1.105 # scp するマシン名を設定
UNAME=user01 # ログイン名を設定
PASSWD=xxxxxxxx # パスワ-ドを設定
TARGET=/cygdrive/c/cygwin/home/root/hoge
/usr/bin/zip -r $TARGET.lzh $TARGET
expect -c " # expect コマンドを実行
set timeout 20
spawn ...続きを読む

Aベストアンサー

おはようございます。
これはおそらく先の質問
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1115230
の参考URLを参照されたのだと思いますが、
私もそのままではうまくいきませんでした。
そのURLの例は間違っているのだと思います。
(動かした後でコメントをいれて、動作確認をしなかったのかな?)
ちなみにコメントを入れる場合は下のように、行末に;
をつけてから入れるとよいようです。

基本的にエラーの原因は#2さんのご指摘のとおりです。
参考URLも良く見ると最後に"がありますよ。(それでも動かないと思いますが。。。)
ただし、今の場合、最後に
interact
を入れないとうまく動かないとおもいます。(少なくとも私はそうでした。)
この掲示板の過去の質問が参考になりました。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=924035
http://oshiete1.goo.ne.jp/kotaeru.php3?q=925167

#!/bin/sh
HOST=192.168.1.105
UNAME=user01
PASSWD=xxxxxxxx
TARGET=/cygdrive/c/cygwin/home/root/hoge
/usr/bin/zip -r $TARGET.lzh $TARGET
expect -c "
set timeout 20
spawn scp -P 60001 $TARGET.lzh $UNAME@$HOST:/home/fat32/ ;こめんと
expect \"password:\" ;こめんと
send \"$PASSWD\r\" ;こめんと
interact
"

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=924035
http://oshiete1.goo.ne.jp/kotaeru.php3?q=925167

おはようございます。
これはおそらく先の質問
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1115230
の参考URLを参照されたのだと思いますが、
私もそのままではうまくいきませんでした。
そのURLの例は間違っているのだと思います。
(動かした後でコメントをいれて、動作確認をしなかったのかな?)
ちなみにコメントを入れる場合は下のように、行末に;
をつけてから入れるとよいようです。

基本的にエラーの原因は#2さんのご指摘のとおりです。
参考URLも良く見ると最後に"がありますよ。(それでも動か...続きを読む

Qrsyncのログについて

rsyncの同期先サーバで、rsyncのログを持つことは可能でしょうか。
ご回答よろしくお願いします。

Aベストアンサー

option設定で
--log-file=FILE
ではダメなんでしょうか。
---man page 参照
http://www.mediacollege.com/cgi-bin/man/page.cgi?topic=rsync

Q起動しているサービスを確認するコマンド

初歩的な質問で恐縮ですが、ご教示いただけますと幸いです。

起動しているサービスを確認するために以下の2つのコマンドを打ってみるのですが、結果(出て来るサービス名)が違います。
このコマンドの違いについてご教示いただけますでしょうか。

(1)service --status-all
(2)chkconfig --list

Aベストアンサー

(1)service --status-all

サービスの現在のステータスを調べるコマンド

(2)chkconfig --list

OSのブート時に自動起動するサービスを調べるコマンド

違いが出るのは、
・ブート後に手動あるいは他のコマンドから起動したサービス
・ブート後に手動あるいは他のコマンドから、あるいはエラーで停止したサービス
・ブート後に実行はされるがすぐに停止して常駐しないサービス (ntpdate とか)

あるいは、(1)ではサービス名が表示されない物もあるので、どのサービスがどんなステータス出力をするのか知っておく必要もありますね。(service network statusとか)

Qpingでポートの指定

pingでIPアドレスを指定して、通信できるかどうかというのは
よく使いますが、pingでポートを指定して応答するかどうかは調べられるのでしょうか?

よろしくお願いします

Aベストアンサー

pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。

ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含むICMP)ではできません。

FTPの疎通確認であれば、クライアントからサーバに対するTCP/21通信(FTP-CMD)が可能であること(サーバからクライアントへのTCP/21からの応答を含む)+サーバからクライアントに対するTCP/20通信(FTP-DATA)が可能であること(クライアントからサーバへのTCP/21からの応答を含む)が必要でしょう。

監視ソフトによるものであれば、
・クライアントからサーバへのログイン(TCP/21)
・クライアントからサーバへのlsの結果(TCP/20)
で確認すればよいでしょう。

pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。

ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含む...続きを読む

Qなぜ、No such file or directory ?

LinuxにHORBをインストールし、パスも通しました。
HORBサーバーを起動するために
$ horb
と、すると
bash: /usr/local/horb2.1/bin/horb : No such file or directory
となって、実行できません。

horbファイルの中身は、
#!/bin/sh
java horb.orb.HORBServer $*
となっています。

直接、
$ java horb.orb.HORBServer
とすれば、HORBサーバーが起動します。

horbファイルの権限が理由でもないと思います。
$ ls -l horb
-rwxr-xr-x   1 myname   users
となっています。

なぜ、
$ horb
ができないのでしょうか。どうか、お教えください。

Aベストアンサー

そのエラーの出方は#!行がちゃんと解釈されないパターンに
見えますね。

改行コードをまず確認してみてください。samba経由かなにかで、
Windows上のエディタで編集してたりしてませんか?
$ vi horb
とviエディタなどで開いてみるとどうでしょう?あるいは
$ od -c horb | head
#!/bin/shのうしろに^Mとか\r\nが来ていませんか?

Q/ が何時の間にか「Read-only file system」になってしまった

PlamoLinuxの3くらいを使っています。
18日間起動しているマシンで、
いつものように作業をしようと思ったら、
なぜか動作が変でした。
いろいろと調べてみると、どうやら
/ が何時の間にか「Read-only file system」になっていました。
そのため、/tmpに一時的に書き込んだりする
プログラムの動作がおかしくなったのではないかと思っています。
試しに「# touch /tmp/test」を実行すると
「Read-only file system」とか「読み込み専用ファイルシステムです」
と文句を言われてしまいます。
/etc/fstabと/etc/mtabを確認したところ、
「/dev/hda2 / ext3 defaults 1 1」
「/dev/hda2 / ext3 rw 0 0」
だったので、問題はないかなと思っています。
「# mount -o rw,remount /」を試してみると、
block device /dev/hda2 is write-protected, mounting read-only
と言われてしまいました。
ログを確認したところ、7/30 04:26に書き込まれたのが最後で、
それ以上書かれていないところからすると、
その直後くらいに / がRead-onlyになってしまったようです。
ちなみに、ログにはおかしな記録は見当たりませんでした。

/dev/hda1がswap
/dev/hda2が/
/dev/hda3が/boot
/dev/hda4が/home
で、/だけがRead-onlyになってしまったようで、
/home, /bootは書き込めました。
再起動はできるだけしたくないのですが、
元にもどす方法はないでしょうか?
宜しくお願いします。

PlamoLinuxの3くらいを使っています。
18日間起動しているマシンで、
いつものように作業をしようと思ったら、
なぜか動作が変でした。
いろいろと調べてみると、どうやら
/ が何時の間にか「Read-only file system」になっていました。
そのため、/tmpに一時的に書き込んだりする
プログラムの動作がおかしくなったのではないかと思っています。
試しに「# touch /tmp/test」を実行すると
「Read-only file system」とか「読み込み専用ファイルシステムです」
と文句を言われてしまいます。
/etc/fsta...続きを読む

Aベストアンサー

dmesg を実行したり /var/log/messages を調べると kernel から何かファイルシステムに関するエラーが出力されていませんでしょうか。経験上、ファイルシステムのエラー(I/O error)によって強制的に Read-Only モードに移行させられているように見えます。

もし I/O error 等のエラーが出ている場合は、/ 以下だけではなく、出来れば全パーティションのバックアップを早急に行うことをオススメします。もしディスクの破損が原因であれば、バックアップ作業中に止まってしまう事もありますので、バックアップ作業自体にもリスクを伴うことにご注意下さい(止まってしまうと二度とブートできなくなる、という現象を目の当たりにしたこともあります)。

HDD のセクタ内の情報が単に矛盾しているだけであれば、サーバの再起動後にシングル・ユーザ・モードで fsck を実行してファイルの整合性を確認することが必要です。

もしファイル情報の不整合がハードディスクの物理的な故障によるものであれば、ハードディスクの交換作業が必用になってしまいます。。

まずは、ログを確認して、どのようなメッセージが出ているか確認をなされてみては如何でしょう。上記の記述は最悪のケース、ですので。。

dmesg を実行したり /var/log/messages を調べると kernel から何かファイルシステムに関するエラーが出力されていませんでしょうか。経験上、ファイルシステムのエラー(I/O error)によって強制的に Read-Only モードに移行させられているように見えます。

もし I/O error 等のエラーが出ている場合は、/ 以下だけではなく、出来れば全パーティションのバックアップを早急に行うことをオススメします。もしディスクの破損が原因であれば、バックアップ作業中に止まってしまう事もありますので、バックアップ作...続きを読む

QFTPコマンドでディレクトリごとファイル移動できるコマンドはありますか?

タイトルどおりなのですが、FTPでファイルを転送する際に、サブフォルダを含むディレクトリごとファイル転送するコマンドはありますでしょうか。
ディレクトリの中にあるすべてのファイルを移動したいのですが、サブフォルダがたくさんあるので、わざわざディレクトリの場所へ移動してmputを繰り返すのはめんどうで仕方ありません。
よろしくお願いします。

Aベストアンサー

ご使用になるOS環境が書いてないのですが、Linux,BSD等ならncftpで、get -R dir。
Windowsならffftpを使えば良いと思います。


このカテゴリの人気Q&Aランキング