Script arhivare linux

Configurare noua (How To)

Situatie

Solutie

Acest script va crea o arhivă cu numele format din numele directorului sursă și data curentă, în formatul nume_director_data.tar.gz. De exemplu, dacă directorul sursă se numește documente, iar data curentă este 2024-04-24, arhiva va avea numele documente_2024-04-24.tar.gz.

În acest script, locația sursei este primul argument ($1) și locația arhivei este al doilea argument ($2). Dacă directorul arhivei specificat în al doilea argument nu există sau nu este accesibil, scriptul se va opri și va afișa un mesaj corespunzător.

————————————————————–

#!/bin/bash

 

# Verificăm dacă numărul corect de argumente este furnizat

if [ $# -ne 2 ]; then

echo “Mod de folosire: $0 <locatie_sursă> <locatie_arhivă>”

exit 1

fi

 

# Extragem argumentele

sursa=$1

arhiva=$2

 

# Verificăm dacă locația sursă există și este un director

if [ ! -d “$sursa” ]; then

echo “Locația sursă nu există sau nu este un director.”

exit 1

fi

 

# Verificăm dacă directorul arhivei există sau putem să-l creăm

arhiva_dir=$(dirname “$arhiva”)

if [ ! -d “$arhiva_dir” ]; then

echo “Directorul arhivei nu există sau nu este accesibil.”

exit 1

fi

 

# Obținem numele directorului sursă

nume_director=$(basename “$sursa”)

 

# Obținem data curentă

data=$(date +”%Y-%m-%d”)

 

# Construim numele arhivei folosind numele directorului și data curentă

nume_arhiva=”${nume_director}_${data}.tar.gz”

 

# Creăm arhiva

tar -czvf “${arhiva}” “${sursa}”

 

# Verificăm dacă arhiva a fost creată cu succes

if [ $? -eq 0 ]; then

echo “Arhiva a fost creată cu succes: ${arhiva}”

else

echo “A apărut o eroare în timpul creării arhivei.”

fi

————————————————————————–

 

Pentru a folosi acest script, salvează-l într-un fișier cu extensia .sh (de exemplu, arhivare_auto.sh) și dă-i permisiuni de execuție folosind chmod +x arhivare_auto.sh. Apoi, poți rula scriptul furnizând calea către directorul pe care dorești să-l arhivezi ca primul argument și calea către locația dorită pentru arhivă ca al doilea argument, de exemplu:

 

./arhivare_auto.sh /calea/catre/director /calea/catre/arhiva.tar.gz

Tip solutie

Permanent

Voteaza

(13 din 30 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?