Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env bash
- function check_root() {
- [ "$(id -u)" -ne 0 ] && echo "Por favor, execute este script como root."; exit 1
- }
- function show_usage() {
- echo "Uso: $0 <origem> <destino>"
- echo "Exemplo: $0 /dev/sda /dev/sdb"
- exit 1
- }
- function check_devices_existence() {
- for device in "$1" "$2"; do
- [ ! -e "$device" ] && echo "O dispositivo $device não existe."; exit 1
- done
- }
- function clone_hd() {
- local origem="$1"
- local destino="$2"
- echo "Iniciando a clonagem de $origem para $destino..."
- dd if="$origem" of="$destino" bs=4M status=progress
- if [ "$?" -eq 0 ]; then
- echo "Clonagem concluída com sucesso."
- exit 1
- fi
- echo "Erro durante a clonagem."
- }
- function unmount_partitions() {
- local destino="$1"
- umount "$destino"* 2>/dev/null
- }
- function main() {
- check_root
- [ "$#" -ne 2 ] && show_usage
- local origem="$1"
- local destino="$2"
- check_devices_existence "$origem" "$destino"
- read -p "Este script irá sobrescrever todos os dados em $destino. Deseja continuar? (s/n): " confirmacao
- [ "$confirmacao" != "s" ] && echo "Operação cancelada."; exit 1
- unmount_partitions "$destino"
- clone_hd "$origem" "$destino"
- }
- main "$@"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement