====== cp: Input/output errorを無理やりコピーする====== UNIX系のOSでファイルコピーをした際''cp: Input/output error''が発生することがマレにある。 ストレージの不具合や突然の電源断でファイルシステムに不整合が発生し、データの読み書きに失敗した場合に発生するエラーである。これが発生した時点コピー処理は打ち切られ、残りのデータは一切コピーされなくなってしまう。 たとえファイルの完全復元が難しいと分かってはいても、吸えるデータは可能な限り吸っておきたいのが人情というもの。残りの正常かもしれないデータをみすみす棄ててしまうのは勿体ない。動画や音声なんかだと壊れたブロックの前後が欠落するだけで、全体としてみれば実用上問題ない事が殆どだし。 そんな時は''cpio''コマンドで、次のようにすると無理やりコピーができる。 find . -depth -print0 | cpio --null -pvd dstdir 本来の用途はファイルストリームを単一のファイルにアーカイブする事らしいんだけど、理屈はどうあれ''Input/output error''に負けずにディレクトリを丸々コピー出来る。