Jika maksud Anda adalah mencadangkan HDD A komputer jarak jauh melalui SSH ke satu file yang ada di HDD komputer lokal Anda, Anda dapat melakukan salah satu dari yang berikut ini.
Kirim sinyal "SIGUSR1" ke dddan itu akan mencetak statistik. Sesuatu seperti:
$ pkill -USR1 dd
Referensi
Metode yang disebutkan di atas untuk pemantauan semula ditinggalkan melalui komentar oleh @Ryan & @bladt dan saya sendiri. Saya telah memindahkan mereka ke jawaban untuk membuatnya lebih jelas.
Saya mencoba ini untuk masalah yang sama (mencadangkan ONEhard drive komputer jarak jauh ke TWOpenyimpanan komputer jarak jauh ), seperti ini: <br /> [root @ ONE] # dd if = / dev / sda1 | ssh root @ TWO dd of=/root/Public/ONE/sda1.img<br /> 409600 + 0 mencatat di 409600 + 0 mencatat 209715200 byte (210 MB) disalin, 0,894929 s, 234 MB / s Pseudo-terminal tidak akan dialokasikan karena stdin bukan terminal root @ TWO's password : Masalahnya adalah /root/Public/ONE/sda1.imgfile itu dibuat pada ONE, bukan pada TWOseperti yang diharapkan. Bagaimana cara saya memperbaikinya?
Urhixidur
1
Adakah yang bisa memberi kami contoh penggunaan pvdari mesin lokal? Terima kasih.
TCB13
lebih baik menggunakan lbzip2 atau pigz insted dari gzip
Shimon Doodkin
mengapa saya perlu "| dd = image.gz" di akhir? (bukan hanya "> image.gz") karena dd membutuhkan 100% dari satu cpu
Shimon Doodkin
6
Mengenai pemantauan: Versi dd yang lebih baru juga memiliki status=progressopsi. Dengan demikian, Anda tidak perlu lari pkill -USR1 dddari terminal lain lagi.
Hingga Schäfer
12
Kesalahan yang Anda terima adalah karena penggunaan sudo dari jarak jauh (Anda akan dimintai kata sandi tetapi Anda tidak memiliki tty untuk memasukkannya). Di sisi lain, sebagai pengguna normal Anda biasanya tidak dapat menggunakan ddseperti yang disarankan dalam jawaban lain (Anda tidak memiliki izin yang diperlukan untuk perangkat). Anda dapat memecahkan masalah dengan memberi diri Anda hak untuk mengeksekusi ddsebagai sudo tanpa kata sandi. Anda dapat melakukan ini dengan mengedit file sudoers (pada remote!):
dan itu harus bekerja. Anda bisa membuat entri yang lebih umum dalam sudoers, memungkinkan Anda untuk menjalankan dddengan parameter apa pun, tetapi lebih bijaksana untuk menjaga izin gratis ini ke minimum yang Anda butuhkan.
ONE
hard drive komputer jarak jauh keTWO
penyimpanan komputer jarak jauh ), seperti ini: <br /> [root @ ONE] # dd if = / dev / sda1 | ssh root @ TWOdd of=/root/Public/ONE/sda1.img
<br /> 409600 + 0 mencatat di 409600 + 0 mencatat 209715200 byte (210 MB) disalin, 0,894929 s, 234 MB / s Pseudo-terminal tidak akan dialokasikan karena stdin bukan terminal root @ TWO's password : Masalahnya adalah/root/Public/ONE/sda1.img
file itu dibuat padaONE
, bukan padaTWO
seperti yang diharapkan. Bagaimana cara saya memperbaikinya?pv
dari mesin lokal? Terima kasih.status=progress
opsi. Dengan demikian, Anda tidak perlu laripkill -USR1 dd
dari terminal lain lagi.Kesalahan yang Anda terima adalah karena penggunaan sudo dari jarak jauh (Anda akan dimintai kata sandi tetapi Anda tidak memiliki tty untuk memasukkannya). Di sisi lain, sebagai pengguna normal Anda biasanya tidak dapat menggunakan
dd
seperti yang disarankan dalam jawaban lain (Anda tidak memiliki izin yang diperlukan untuk perangkat). Anda dapat memecahkan masalah dengan memberi diri Anda hak untuk mengeksekusidd
sebagai sudo tanpa kata sandi. Anda dapat melakukan ini dengan mengedit file sudoers (pada remote!):sudo visudo
tambahkan baris berikut:
userfoo ALL=(ALL) NOPASSWD: /bin/dd if=/dev/sdX
Sekarang Anda dapat menerbitkan:
ssh userfoo@host "sudo /bin/dd if=/dev/sdX" | dd of=test.dd
dan itu harus bekerja. Anda bisa membuat entri yang lebih umum dalam sudoers, memungkinkan Anda untuk menjalankan
dd
dengan parameter apa pun, tetapi lebih bijaksana untuk menjaga izin gratis ini ke minimum yang Anda butuhkan.sumber
Saya baru saja menggunakan versi modifikasi pada kotak Linux Mint virtual untuk mengkloning hard drive fisik pada server RedHat yang menua.
Saya menjalankan yang berikut ini sebagai root pada kotak virtual:
sumber