Compare commits

2 Commits

Author SHA1 Message Date
83f989f68d Add about.html 2025-12-04 12:45:23 +00:00
534e1da78b Add index.html 2025-12-04 11:58:54 +00:00
8 changed files with 4 additions and 537 deletions

1
about.html Normal file
View File

@@ -0,0 +1 @@
About file.

View File

@@ -1,25 +0,0 @@
#!/bin/bash
# Check to make sure the user has entered exactly two arguments.
if [ $# -ne 2 ]
then
echo "Usage backup.sh <source_directory> <target_directory>"
echo "Please try again."
exit 1
fi
# Check to see if rsync is installed
if ! command -v rsync > /dev/null 2>&1
then
echo "This script requires rsync to be installed."
echo "Please use your distribution's package manager to install and try again."
exit 2
fi
# Capture the current date and store it to the format YYYY-MM-DD
current_date=$(date +%Y-%m-%d_%H-%M-%S)
rsync_options="-avb --backup-dir $2/$current_date --delete "
$(which rsync) $rsync_options $1 $2/current >> backup_$current_date.log

View File

@@ -1,380 +0,0 @@
#!/bin/bash
# =============================================================================
# COLECȚIE DE SCRIPTURI BASH
# Exemple practice cu explicații pentru învățare
# =============================================================================
echo "Alege un script pentru a-l rula:"
echo "1. Monitor disk space (verificare spațiu)"
echo "2. Backup automat fișiere"
echo "3. Verificare status servere"
echo "4. Curățare fișiere vechi"
echo "5. Calculator simplu"
echo "6. Monitor procese"
echo ""
read -p "Alege opțiunea (1-6): " optiune
case $optiune in
1)
# =============================================================================
# SCRIPT 1: MONITOR DISK SPACE
# Verifică spațiul pe disk și avertizează dacă e plin
# CONCEPTE: while loop, if-else, aritmetică
# =============================================================================
echo ""
echo "=== MONITOR SPAȚIU DISK ==="
echo ""
# Setează pragul de alertă (în procente)
PRAG_ALERTA=80
# df = disk free (afișează spațiul pe disk)
# -h = human readable (MB, GB în loc de bytes)
# awk = procesare text (extrage coloane)
echo "Verificare partitii..."
echo ""
# while read = citește linie cu linie
# IFS= păstrează spațiile
df -h | grep -E '^/dev/' | while read linie; do
# Extrage utilizarea (coloana 5, ex: 45%)
utilizare=$(echo $linie | awk '{print $5}' | sed 's/%//')
partitie=$(echo $linie | awk '{print $1}')
punct_montare=$(echo $linie | awk '{print $6}')
echo "Partitie: $partitie ($punct_montare)"
echo "Utilizare: $utilizare%"
# Compară numerele (utilizare cu pragul)
if [ $utilizare -gt $PRAG_ALERTA ]; then
echo "⚠️ ALERTA! Spatiu critic!"
else
echo "✓ OK"
fi
echo ""
done
;;
2)
# =============================================================================
# SCRIPT 2: BACKUP AUTOMAT
# Creează backup pentru un director specificat
# CONCEPTE: funcții, date, comprimare, validare input
# =============================================================================
echo ""
echo "=== BACKUP AUTOMAT ==="
echo ""
# Funcție pentru backup
# Funcțiile fac codul reutilizabil
face_backup() {
local sursa=$1
local destinatie=$2
local data=$(date +%Y%m%d_%H%M%S)
local nume_backup="backup_${data}.tar.gz"
echo "Creez backup pentru: $sursa"
echo "Destinatie: $destinatie/$nume_backup"
# tar = arhivare fișiere
# -czf = compress (gzip), create, file
tar -czf "$destinatie/$nume_backup" "$sursa" 2>/dev/null
if [ $? -eq 0 ]; then
echo "✓ Backup creat cu succes!"
echo "Dimensiune: $(du -h "$destinatie/$nume_backup" | cut -f1)"
else
echo "✗ Eroare la crearea backup-ului"
return 1
fi
}
# Exemplu de utilizare
read -p "Introdu directorul pentru backup (ex: /home/user/documente): " dir_sursa
if [ ! -d "$dir_sursa" ]; then
echo "Eroare: Directorul nu există!"
exit 1
fi
read -p "Director destinatie backup (ex: /home/user/backups): " dir_dest
# Creează directorul de destinație dacă nu există
mkdir -p "$dir_dest"
face_backup "$dir_sursa" "$dir_dest"
;;
3)
# =============================================================================
# SCRIPT 3: VERIFICARE STATUS SERVERE
# Verifică dacă serverele sunt online (ping)
# CONCEPTE: array-uri, for loop, exit codes
# =============================================================================
echo ""
echo "=== VERIFICARE STATUS SERVERE ==="
echo ""
# Array simplu cu liste de servere
# () = array în bash
servere=(
"google.com"
"github.com"
"stackoverflow.com"
"localhost"
)
echo "Verific ${#servere[@]} servere..." # ${#array[@]} = număr elemente
echo ""
# for loop prin array
for server in "${servere[@]}"; do
echo -n "Verific $server... "
# ping -c 2 = trimite 2 pachete
# -W 2 = timeout 2 secunde
# &>/dev/null = ascunde output-ul
if ping -c 2 -W 2 "$server" &>/dev/null; then
echo "✓ ONLINE"
else
echo "✗ OFFLINE"
fi
done
echo ""
echo "Verificare completată!"
;;
4)
# =============================================================================
# SCRIPT 4: CURĂȚARE FIȘIERE VECHI
# Șterge fișiere mai vechi de X zile dintr-un director
# CONCEPTE: find, confirmări utilizator, numărare
# =============================================================================
echo ""
echo "=== CURĂȚARE FIȘIERE VECHI ==="
echo ""
read -p "Director de curățat (ex: /tmp): " director
if [ ! -d "$director" ]; then
echo "Eroare: Directorul nu există!"
exit 1
fi
read -p "Șterge fișiere mai vechi de câte zile? (ex: 30): " zile
# Verifică dacă e un număr valid
if ! [[ "$zile" =~ ^[0-9]+$ ]]; then
echo "Eroare: Trebuie să introduci un număr!"
exit 1
fi
echo ""
echo "Căutare fișiere mai vechi de $zile zile în $director..."
# find = caută fișiere
# -type f = doar fișiere (nu directoare)
# -mtime +N = modificat acum N+ zile
fisiere_vechi=$(find "$director" -type f -mtime +$zile 2>/dev/null)
numar_fisiere=$(echo "$fisiere_vechi" | grep -v '^$' | wc -l)
if [ $numar_fisiere -eq 0 ]; then
echo "Nu am găsit fișiere mai vechi de $zile zile."
exit 0
fi
echo "Am găsit $numar_fisiere fișiere vechi:"
echo "$fisiere_vechi" | head -10 # Arată primele 10
if [ $numar_fisiere -gt 10 ]; then
echo "... și alte $((numar_fisiere - 10)) fișiere"
fi
echo ""
read -p "Vrei să ștergi aceste fișiere? (da/nu): " confirmare
if [ "$confirmare" = "da" ]; then
# Loop prin fișiere și șterge-le
while IFS= read -r fisier; do
if [ -n "$fisier" ]; then
rm -f "$fisier"
echo "Șters: $fisier"
fi
done <<< "$fisiere_vechi"
echo ""
echo "✓ Curățare completă!"
else
echo "Operațiune anulată."
fi
;;
5)
# =============================================================================
# SCRIPT 5: CALCULATOR SIMPLU
# Calculator cu operații matematice de bază
# CONCEPTE: case, operații aritmetice, loop infinit
# =============================================================================
echo ""
echo "=== CALCULATOR SIMPLU ==="
echo ""
# Loop infinit (until break)
while true; do
echo "Operații disponibile:"
echo "1. Adunare (+)"
echo "2. Scădere (-)"
echo "3. Înmulțire (*)"
echo "4. Împărțire (/)"
echo "5. Ieșire"
echo ""
read -p "Alege operația (1-5): " op
# break = ieșire din loop
[ "$op" = "5" ] && break
read -p "Primul număr: " num1
read -p "Al doilea număr: " num2
# case = switch statement
case $op in
1)
rezultat=$((num1 + num2))
echo "Rezultat: $num1 + $num2 = $rezultat"
;;
2)
rezultat=$((num1 - num2))
echo "Rezultat: $num1 - $num2 = $rezultat"
;;
3)
rezultat=$((num1 * num2))
echo "Rezultat: $num1 * $num2 = $rezultat"
;;
4)
if [ $num2 -eq 0 ]; then
echo "Eroare: Împărțire la zero!"
else
# bc = calculator pentru operații cu virgulă
rezultat=$(echo "scale=2; $num1 / $num2" | bc)
echo "Rezultat: $num1 / $num2 = $rezultat"
fi
;;
*)
echo "Operație invalidă!"
;;
esac
echo ""
done
echo "La revedere!"
;;
6)
# =============================================================================
# SCRIPT 6: MONITOR PROCESE
# Afișează procesele care consumă cele mai multe resurse
# CONCEPTE: ps, sort, top procese
# =============================================================================
echo ""
echo "=== MONITOR PROCESE ==="
echo ""
echo "Top 10 procese după utilizare CPU:"
echo ""
# ps = process status
# aux = all users, user-oriented, include processes without terminal
# --sort = sortează după o coloană
# head = primele N linii
ps aux --sort=-%cpu | head -11
echo ""
echo "---"
echo ""
echo "Top 10 procese după utilizare memorie:"
echo ""
ps aux --sort=-%mem | head -11
echo ""
read -p "Vrei să oprești vreun proces? (da/nu): " raspuns
if [ "$raspuns" = "da" ]; then
read -p "Introdu PID-ul procesului: " pid
# Verifică dacă procesul există
if ps -p $pid > /dev/null 2>&1; then
echo "Opresc procesul $pid..."
kill $pid
echo "✓ Procesul a fost oprit"
else
echo "Procesul cu PID $pid nu există"
fi
fi
;;
*)
echo "Opțiune invalidă!"
exit 1
;;
esac
# =============================================================================
# REZUMAT CONCEPTE BASH ÎNVĂȚATE:
# =============================================================================
#
# 1. LOOP-URI:
# - while read: citește linie cu linie
# - for in: iterează prin liste/array-uri
# - while true: loop infinit (până la break)
#
# 2. CONDIȚII:
# - if [ conditie ]; then ... fi
# - case variabila in ... esac (switch)
# - Operatori: -eq (egal), -gt (mai mare), -lt (mai mic)
# - Operatori fișiere: -d (director), -f (fișier), -e (există)
#
# 3. ARRAY-URI:
# - Declarare: arr=(val1 val2 val3)
# - Acces: ${arr[0]}
# - Toate elementele: ${arr[@]}
# - Lungime: ${#arr[@]}
#
# 4. FUNCȚII:
# - Declarare: function_name() { ... }
# - Parametri: $1, $2, $3...
# - Variabile locale: local var=value
#
# 5. COMENZI UTILE:
# - df: disk free (spațiu)
# - du: disk usage (mărime fișiere)
# - ps: process status
# - find: caută fișiere
# - grep: filtrează text
# - awk: procesare coloane
# - sed: editare text
#
# 6. OPERATORI:
# - Aritmetică: $((expresie))
# - Strings: -z (gol), -n (nu e gol)
# - Comparații: -eq, -ne, -gt, -lt, -ge, -le
#
# 7. REDIRECTĂRI:
# - > : scrie în fișier (suprascrie)
# - >> : append la fișier
# - 2>&1 : redirectează error la output
# - &>/dev/null : ascunde tot output-ul
#
# =============================================================================

View File

@@ -1,105 +0,0 @@
#!/bin/bash
#####################################################
# System Health Monitor
# Author: [Numele Tău]
# Description: Verifică starea sistemului și generează raport
#####################################################
# Culori pentru output fancy
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color
# Header fancy
clear
echo -e "${BLUE}╔════════════════════════════════════════╗${NC}"
echo -e "${BLUE}║ SYSTEM HEALTH MONITOR v1.0 ║${NC}"
echo -e "${BLUE}╚════════════════════════════════════════╝${NC}"
echo ""
echo -e "${GREEN}📊 Generez raportul...${NC}"
echo ""
# 1. Informații sistem
echo -e "${YELLOW}━━━ 💻 INFORMAȚII SISTEM ━━━${NC}"
echo -e "Hostname: ${GREEN}$(hostname)${NC}"
echo -e "Utilizator: ${GREEN}$(whoami)${NC}"
echo -e "Data: ${GREEN}$(date '+%Y-%m-%d %H:%M:%S')${NC}"
echo -e "Uptime: ${GREEN}$(uptime -p)${NC}"
echo ""
# 2. CPU Usage
echo -e "${YELLOW}━━━ ⚙️ CPU USAGE ━━━${NC}"
cpu_usage=$(top -bn1 | grep "Cpu(s)" | awk '{print $2}' | cut -d'%' -f1)
echo -e "Utilizare CPU: ${GREEN}${cpu_usage}%${NC}"
if (( $(echo "$cpu_usage > 80" | bc -l) )); then
echo -e "${RED}⚠️ ATENȚIE: CPU usage ridicat!${NC}"
else
echo -e "${GREEN}✓ CPU în parametri normali${NC}"
fi
echo ""
# 3. Memorie
echo -e "${YELLOW}━━━ 🧠 MEMORIE ━━━${NC}"
mem_total=$(free -h | awk '/^Mem:/ {print $2}')
mem_used=$(free -h | awk '/^Mem:/ {print $3}')
mem_percent=$(free | awk '/^Mem:/ {printf "%.0f", $3/$2 * 100}')
echo -e "Total: ${GREEN}${mem_total}${NC}"
echo -e "Folosită: ${GREEN}${mem_used}${NC} (${mem_percent}%)"
if [ "$mem_percent" -gt 80 ]; then
echo -e "${RED}⚠️ ATENȚIE: Memorie insuficientă!${NC}"
else
echo -e "${GREEN}✓ Memorie OK${NC}"
fi
echo ""
# 4. Disc
echo -e "${YELLOW}━━━ 💾 SPAȚIU DISC ━━━${NC}"
df -h | grep -E '^/dev/' | while read line; do
usage=$(echo $line | awk '{print $5}' | cut -d'%' -f1)
mount=$(echo $line | awk '{print $6}')
if [ "$usage" -gt 80 ]; then
echo -e "${RED}⚠️ $mount: ${usage}% (PLIN!)${NC}"
else
echo -e "${GREEN}$mount: ${usage}%${NC}"
fi
done
echo ""
# 5. Top 5 procese (CPU)
echo -e "${YELLOW}━━━ 🔥 TOP 5 PROCESE (CPU) ━━━${NC}"
ps aux --sort=-%cpu | head -6 | tail -5 | awk '{printf "%-20s %5s%%\n", $11, $3}'
echo ""
# 6. Verificare servicii importante (opțional)
echo -e "${YELLOW}━━━ 🔧 STATUS SERVICII ━━━${NC}"
# Exemplu: verifică serviciul SSH
if systemctl is-active --quiet sshd 2>/dev/null || systemctl is-active --quiet ssh 2>/dev/null; then
echo -e "${GREEN}✓ SSH: Running${NC}"
else
echo -e "${RED}✗ SSH: Stopped${NC}"
fi
# Footer
echo ""
echo -e "${BLUE}╔════════════════════════════════════════╗${NC}"
echo -e "${BLUE}║ Raport generat cu succes! ✓ ║${NC}"
echo -e "${BLUE}╚════════════════════════════════════════╝${NC}"
echo ""
# Opțiune salvare raport
read -p "Salvezi raportul în fișier? (y/n): " save_choice
if [ "$save_choice" = "y" ] || [ "$save_choice" = "Y" ]; then
report_file="system_health_$(date +%Y%m%d_%H%M%S).txt"
$0 2>&1 | grep -v "Salvezi raportul" > "$report_file"
echo -e "${GREEN}✓ Raport salvat: $report_file${NC}"
fi
exit 0

View File

@@ -1,27 +0,0 @@
#!/bin/bash
release_file=/etc/os-release
logfile=/var/log/updater.log
errorlog=/var/log/updater_errors.log
check_exit_status() {
local status=$1
local command_name=$2
if [ $status -ne 0 ]
then
echo "An error occurred during $command_name, please check the $errorlog file."
exit 1
fi
}
if grep -q "Ubuntu" $release_file || grep -q "Debian" $release_file
then
# The host is Debian or Ubuntu
# Run the apt version of the command
sudo apt update 1>>$logfile 2>>$errorlog
check_exit_status $? "apt update"
sudo apt dist-upgrade -y 1>>$logfile 2>>$errorlog
check_exit_status $? "apt dist-upgrade"
echo "Update completed successfully!"
fi

1
contact.html Normal file
View File

@@ -0,0 +1 @@
Formular contact

1
file_2test.txt Normal file
View File

@@ -0,0 +1 @@
Fisier 2 test

1
index.html Normal file
View File

@@ -0,0 +1 @@
index file