aboutsummaryrefslogtreecommitdiffstats
path: root/ddrescue_r
diff options
context:
space:
mode:
authorSylvain Herlédan <sylvain.herledan@hrafnagud.info>2017-06-04 15:48:44 +0200
committerSylvain Herlédan <sylvain.herledan@hrafnagud.info>2017-06-04 15:48:44 +0200
commitaa9f6318a22a35d741ede10a550b213646997eb1 (patch)
tree8acf760017da4717f93d6cdca43cc5490a184f2b /ddrescue_r
downloadadmin_toolbox-aa9f6318a22a35d741ede10a550b213646997eb1.tar.gz
admin_toolbox-aa9f6318a22a35d741ede10a550b213646997eb1.tar.bz2
admin_toolbox-aa9f6318a22a35d741ede10a550b213646997eb1.zip
Add a script to use ddrescue recursively.
Diffstat (limited to 'ddrescue_r')
-rwxr-xr-xddrescue_r16
1 files changed, 16 insertions, 0 deletions
diff --git a/ddrescue_r b/ddrescue_r
new file mode 100755
index 0000000..f2d55c1
--- /dev/null
+++ b/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."