First sync.
This commit is contained in:
38
partcopy
Executable file
38
partcopy
Executable file
@@ -0,0 +1,38 @@
|
||||
#!/bin/sh
|
||||
|
||||
OLDFST="$(lsblk -no FSTYPE /dev/$1)"
|
||||
OLDLBL="$(lsblk -no LABEL /dev/$1)"
|
||||
OLDUID="$(lsblk -no UUID /dev/$1)"
|
||||
NEWFST="$(lsblk -no FSTYPE /dev/$2)"
|
||||
NEWLBL="$(lsblk -no LABEL /dev/$2)"
|
||||
NEWUID="$(lsblk -no UUID /dev/$2)"
|
||||
|
||||
[ ! -e /dev/$1 ] && echo "Device /dev/$1 does not exist." && exit 1
|
||||
[ ! -e /dev/$2 ] && echo "Device /dev/$2 does not exist." && exit 1
|
||||
|
||||
clear
|
||||
|
||||
echo -e " --DEVICE-- -FS- -----LABEL------ ----------------UUID----------------\nOLD:\nNEW:"
|
||||
|
||||
tput cup 1 5; echo -e /dev/$1
|
||||
tput cup 1 16; echo -e $OLDFST
|
||||
tput cup 1 21; echo -e $OLDLBL
|
||||
tput cup 1 38; echo -e $OLDUID
|
||||
|
||||
tput cup 2 5; echo -e /dev/$2
|
||||
tput cup 2 16; echo -e $NEWFST
|
||||
tput cup 2 21; echo -e $NEWLBL
|
||||
tput cup 2 38; echo -e $NEWUID
|
||||
|
||||
echo ''
|
||||
read -n 1 -p 'CANCEL WITH CTRL+C OR PRESS ANY KEY TO CONTNUE...'
|
||||
|
||||
[[ $3 != nozero ]] && dcfldd if=/dev/zero of=/dev/$2 bs=4M
|
||||
mkfs -t $OLDFST -L "$OLDLBL" -U $OLDUID /dev/$2
|
||||
mkdir -p /mnt/partcopy-{old,new}
|
||||
mount /dev/$1 /mnt/partcopy-old
|
||||
mount /dev/$2 /mnt/partcopy-new
|
||||
rsync -avPH --numeric-ids /mnt/partcopy-old/ /mnt/partcopy-new
|
||||
umount /dev/$2
|
||||
umount /dev/$1
|
||||
rmdir /mnt/partcopy-{old,new}
|
||||
Reference in New Issue
Block a user