-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathThinkRestore.sh
65 lines (53 loc) · 3.07 KB
/
ThinkRestore.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#!/bin/bash
##########################################################################################################################
# Script: ThinkRestore
# Autor: ThinkRoot
# Versiune: 1.1
# Descriere
# Acest script Bash este creat pentru a simplifica procesul de restaurare a unui backup. Verifică permisiunile de administrator, specifică calea către directorul de backup și locația de restaurare, verifică existența acestora și instalează automat rsync dacă este necesar. Apoi, utilizează rsync pentru a restaura backup-ul și afișează un mesaj de finalizare. Este util pentru a asigura că procesul de restaurare este gestionat eficient și cu puține intervenții manuale.
# Utilizare
# 1. Deschideți terminalul și navigați către directorul în care este salvat scriptul.
# 2. Acordați permisiuni de execuție scriptului utilizând comanda: „chmod +x ThinkRestore.sh”
# 3. Rulați scriptul folosind comanda: „./ThinkRestore.sh”
# 4. Dacă nu sunteți deja root (administrator), vi se va solicita să rulați scriptul cu permisiuni de administrator. În acest caz, rulați scriptul cu sudo: „sudo ./ThinkRestore.sh”
# 5. Scriptul va începe să ruleze și va afișa mesaje pe măsură ce progresează. Urmăriți instrucțiunile și mesajele pentru a finaliza procesul de restaurare a backup-ului.
# Asigurați-vă că ați specificat corect calea către directorul de backup și către locația de restaurare în variabilele corespunzătoare din script, pentru a asigura restaurarea corectă a backup-ului.
##########################################################################################################################
# Verificați dacă sunteți root (administrator)
if [[ $EUID -ne 0 ]]; then
echo "Acest script trebuie să fie rulat cu permisiuni de administrator (root)."
exit 1
fi
# Specificați calea către directorul de backup
backup_dir="/calea/către/directorul/de/backup/"
# Specificați calea către locația unde doriți să restaurați backup-ul
restore_dir="/calea/catre/destinatia/de/restaurare"
# Verificați dacă directorul de backup există
if [ ! -d "$backup_dir" ]; then
echo "Directorul de backup nu există sau este incorect specificat."
exit 1
fi
# Verificați dacă locația de restaurare există sau o creați dacă nu există
if [ ! -d "$restore_dir" ]; then
mkdir -p "$restore_dir"
echo "Directorul de restaurare a fost creat: $restore_dir"
fi
# Verificați dacă rsync este instalat și, dacă nu, încercați să-l instalați automat
if ! command -v rsync &>/dev/null; then
echo "Instalarea rsync..."
if command -v pacman &>/dev/null; then
sudo pacman -S rsync
else
echo "Nu se poate instala rsync. Asigurați-vă că managerul de pachete al sistemului este suportat."
exit 1
fi
fi
# Restaurați backup-ul în locația de restaurare folosind rsync
rsync -av "$backup_dir"/ "$restore_dir"/
if [ $? -eq 0 ]; then
echo "Backup-ul a fost restaurat în $restore_dir."
else
echo "Restaurarea backup-ului a eșuat."
exit 1
fi
echo "Procesul de restaurare a fost finalizat cu succes."