aboutsummaryrefslogtreecommitdiffstats
path: root/bin/ddrescue_r
diff options
context:
space:
mode:
authorSylvain Herlédan <sylvain.herledan@hrafnagud.info>2017-06-04 00:44:19 +0200
committerSylvain Herlédan <sylvain.herledan@hrafnagud.info>2017-06-04 00:44:19 +0200
commit7e203790736eb3d04525d9c80e2addb1f02ada00 (patch)
treed1fc4238a8ba6eb11c8bbfc10dd905847ccb7fb2 /bin/ddrescue_r
parent8fdbbef10f13a834d2c5bf44ebd9bec8956c7087 (diff)
downloaddotfiles-7e203790736eb3d04525d9c80e2addb1f02ada00.tar.gz
dotfiles-7e203790736eb3d04525d9c80e2addb1f02ada00.tar.bz2
dotfiles-7e203790736eb3d04525d9c80e2addb1f02ada00.zip
Add recursive ddrescue script.
Diffstat (limited to 'bin/ddrescue_r')
-rwxr-xr-xbin/ddrescue_r16
1 files changed, 16 insertions, 0 deletions
diff --git a/bin/ddrescue_r b/bin/ddrescue_r
new file mode 100755
index 0000000..f2d55c1
--- /dev/null
+++ b/bin/ddrescue_r
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+echo '------------------------------------------------------------------------'
+ilen=(1+${#1})
+find "${1}" -type d -print0 | while read -d $'\0' d;do
+ dname="${d:${ilen}}"
+ echo "*** ${dname}"
+ mkdir -p "${dname}"
+done
+echo "Directory tree restored"
+find "${1}" -type f -print0 | while read -d $'\0' f; do
+ fname="${f:${ilen}}"
+ echo "+++ ${fname}"
+ ddrescue "${1}/${fname}" "${2}/${fname}"
+done
+echo "Done."