đ InnehĂ„llsförteckning
đŻ Ăversikt
Fil Backup Scanner Àr ett kraftfullt verktyg för att automatiskt hitta och sÀkerhetskopiera nyligen modifierade filer pÄ ditt system. Verktyget scannar alla tillgÀngliga lagringsenheter och skapar en organiserad ZIP-fil med alla matchade filer.
- Automatiska sÀkerhetskopior av utvecklingsprojekt
- Snabb backup innan systemuppdateringar
- KatastrofÄterstÀllning och versionshantering
- Dokumentation av Àndringar över tid
â Funktioner
đ Smart Scanning
Scannar automatiskt alla tillgÀngliga enheter och partitioner pÄ systemet.
đ Tidsfiltrering
Hitta filer modifierade de senaste X dagarna (konfigurerbart).
đ Filtypsfilter
VÀlj exakt vilka filÀndelser du vill inkludera i scanningen.
đŠ ZIP-komprimering
Automatisk komprimering med bevarad katalogstruktur.
đ Detaljerad Rapport
Genererar en komplett fillista med storlekar och modifieringsdatum.
đ Webb Interface
AnvÀndarvÀnligt PHP-baserat webb-UI för enkel Ätkomst.
đ» Systemkrav
Backend (Python)
- Python 3.6+ (rekommenderat: Python 3.8 eller senare)
- Operativsystem: Windows, Linux, eller macOS
- Diskutrymme: TillrÀckligt för ZIP-filen (beroende pÄ antal filer)
- Behörigheter: LÀsrÀttigheter för kataloger som ska scannas
Webb UI (PHP)
- PHP 7.4+ (rekommenderat: PHP 8.0 eller senare)
- Webbserver: Apache, Nginx, eller PHP:s inbyggda server
- PHP-tillÀggg: Standard (exec-funktionen mÄste vara aktiverad)
exec()-funktion mÄste vara aktiverad i php.ini.
Kontrollera att den inte Àr listad under disable_functions.
đ Installation
Steg 1: Ladda ner filerna
Ladda ner alla nödvÀndiga filer till en katalog pÄ din webbserver:
/var/www/backup-scanner/
âââ backup_scanner.py
âââ index.php
âââ readme.html
Steg 2: Konfigurera behörigheter
PÄ Linux/macOS, ge Python-skriptet exekveringsrÀttigheter:
chmod +x backup_scanner.py
Skapa och konfigurera backup-katalogen:
mkdir backups
chmod 755 backups
Steg 3: Testa Python-skriptet
Verifiera att Python-skriptet fungerar:
python3 backup_scanner.py -days 7 -output ./backups
Steg 4: Starta webbservern
Alternativ A - PHP inbyggd server (utveckling):
cd /var/www/backup-scanner
php -S localhost:8000
Alternativ B - Apache:
# Placera filerna i /var/www/html/backup-scanner/
# Ăppna http://localhost/backup-scanner/
Alternativ C - Nginx:
Konfigurera en server block i Nginx och peka pÄ katalogen.
đ AnvĂ€nda Webb UI
Steg-för-steg guide
- Ăppna webb-interfacet i din webblĂ€sare
- VÀlj antal dagar: Ange hur mÄnga dagar bakÄt du vill scanna (1-365)
- VÀlj filÀndelser: Markera de filtyper du vill inkludera i scanningen
- Ange output-katalog: DĂ€r backup ZIP-filen ska sparas (standard: ./backups)
- Klicka "Starta Scanning": VĂ€nta medan systemet scannar
- Ladda ner backup: NÀr scanningen Àr klar, klicka pÄ nedladdningslÀnken
Exempel pÄ anvÀndning
| Scenario | Dagar | FilÀndelser | Beskrivning |
|---|---|---|---|
| Daglig utveckling | 1 | .php, .js, .py | Backup av dagens kodÀndringar |
| Veckobackup | 7 | Alla | FullstÀndig veckobackup |
| Projektdokumentation | 30 | .md, .txt, .pdf | Backup av dokumentation |
| Konfigurationsfiler | 14 | .conf, .json, .xml | Systemkonfigurationer |
âšïž AnvĂ€nda Kommandoraden
Python-skriptet kan ocksÄ köras direkt frÄn kommandoraden:
GrundlÀggande syntax
python3 backup_scanner.py [OPTIONS]
TillgÀngliga parametrar
| Parameter | Beskrivning | Standard |
|---|---|---|
-days ANTAL |
Antal dagar bakÄt att scanna | 7 |
-ext .EXT1 .EXT2 |
FilÀndelser att inkludera | .php .py .txt .js .html .css .json .xml .md |
-output KATALOG |
Output-katalog för backup | Aktuell katalog |
Exempel
Exempel 1: Scanna de senaste 7 dagarna (standard):
python3 backup_scanner.py
Exempel 2: Scanna de senaste 14 dagarna med specifika filÀndelser:
python3 backup_scanner.py -days 14 -ext .php .py .txt
Exempel 3: Spara backup i specifik katalog:
python3 backup_scanner.py -days 3 -output /backup/monthly
Exempel 4: Endast PHP-filer de senaste 24 timmarna:
python3 backup_scanner.py -days 1 -ext .php
âïž Konfiguration
Anpassa standardfilÀndelser
I backup_scanner.py, Àndra rad ~16:
self.extensions = extensions or ['.php', '.py', '.txt', '.js',
'.html', '.css', '.json', '.xml', '.md']
Exkludera kataloger
I backup_scanner.py, Àndra rad ~61:
dirs[:] = [d for d in dirs if not d.startswith('.') and
d not in ['node_modules', '__pycache__', 'venv', 'env',
'System Volume Information', '$RECYCLE.BIN',
'din_katalog_att_exkludera']]
Ăndra standard output-katalog i Webb UI
I index.php, Àndra rad ~235:
value="./backups"
đ§ Felsökning
Problem: "backup_scanner.py hittades inte"
backup_scanner.py och
index.php ligger i samma katalog. AnvÀnd absolut sökvÀg om nödvÀndigt.
Problem: "exec() Àr inaktiverad"
- Ăppna php.ini
- Hitta raden:
disable_functions - Ta bort "exec" frÄn listan
- Starta om webbservern
Problem: "Permission denied"
- Linux/macOS:
chmod +x backup_scanner.py - Kontrollera att webbservern har lÀsrÀttigheter för katalogerna
- Ge skrivrÀttigheter till output-katalogen:
chmod 755 backups
Problem: "Python3 not found"
- Installera Python 3:
sudo apt install python3(Linux) - PÄ vissa system: anvÀnd
pythonistĂ€llet förpython3 - Ăndra i index.php rad ~95:
$cmd = "python " . escapeshellarg($scriptPath);
Problem: Scanning tar för lÄng tid
- Minska antal dagar (t.ex. 1-3 dagar istÀllet för 30)
- VÀlj fÀrre filÀndelser
- LĂ€gg till fler kataloger i exkluderingslistan
- ĂvervĂ€g att scanna specifika kataloger istĂ€llet för hela systemet
đ SĂ€kerhet
- WebbÄtkomst: Skydda Webb UI med .htaccess eller liknande autentisering
- Filbehörigheter: Backup-filer kan innehÄlla kÀnslig information
- HTTPS: AnvÀnd alltid HTTPS i produktionsmiljö
- Backup-lagring: Lagra backups pÄ en sÀker plats
- Automatisk rensning: Radera gamla backups regelbundet
Exempel pÄ .htaccess-skydd
AuthType Basic
AuthName "Backup Scanner"
AuthUserFile /path/to/.htpasswd
Require valid-user
Skapa .htpasswd
htpasswd -c .htpasswd username
â Vanliga FrĂ„gor (FAQ)
Kan jag scanna specifika kataloger istÀllet för hela systemet?
Just nu scannar verktyget alla tillgÀngliga enheter. För att scanna specifika kataloger,
modifiera scan_all_drives()-funktionen i backup_scanner.py
och anropa scan_directory() direkt med den önskade sökvÀgen.
Hur stora kan backup-filerna bli?
Storleken beror helt pÄ antal och storlek pÄ matchade filer. ZIP-komprimering reducerar vanligtvis storleken med 50-70% för textbaserade filer. Kontrollera diskutrymmet innan du skapar stora backups.
Kan jag schemalÀgga automatiska backups?
Ja! AnvÀnd cron (Linux/macOS) eller Task Scheduler (Windows):
# Cron exempel - daglig backup kl 02:00
0 2 * * * cd /path/to/backup-scanner && python3 backup_scanner.py -days 1 -output /backups/daily
Finns det nÄgon storleksbegrÀnsning för filer?
Nej, men mycket stora filer kan göra backup-processen lĂ„ngsam och ZIP-filen stor. ĂvervĂ€g att exkludera större binĂ€ra filer om det behövs.
PÄverkar verktyget systemets prestanda?
Under scanning anvÀnds disk I/O, vilket kan pÄverka systemet. För stora system, kör backups under lÄgtrafiktimmar eller nÀtter.
Kan jag ÄterstÀlla filer frÄn en backup?
Ja, packa upp ZIP-filen sÄ ÄterstÀlls den ursprungliga katalogstrukturen under
backup_files/-mappen.
För ytterligare hjÀlp eller buggrapporter, kontakta din systemadministratör eller konsultera projektets dokumentation.