95 lines
2.9 KiB
Markdown
95 lines
2.9 KiB
Markdown
# 📂 Script de Transfert PVE → OMV
|
||
|
||
Ce script bash automatise le transfert de fichiers depuis des répertoires locaux sur un serveur **Proxmox VE** (`/serie_music/...`) vers un NAS distant monté en **NFS** (via `/mnt/pve/...`, exporté par OMV).
|
||
|
||
Il traite trois catégories : **Anime**, **Série** et **Musique**, en prenant en charge les permissions, les problèmes d'encodage, et en générant un rapport détaillé.
|
||
|
||
---
|
||
|
||
## 🛠️ Fonctionnalités
|
||
|
||
- 📁 **Transfert automatique** des fichiers avec `rsync`
|
||
- ✅ **Vérification des répertoires** source et destination
|
||
- 🔐 **Système de verrouillage** pour éviter les exécutions simultanées
|
||
- 🧹 **Suppression des fichiers sources** après copie réussie
|
||
- 🔧 **Réglage des permissions** (`chmod 777`, `chown 911:911`)
|
||
- 🧾 **Rapport de transfert** affiché à la fin
|
||
- 📝 **Log dédié pour la musique** en cas d’erreur (`/tmp/rsync_music.log`)
|
||
|
||
---
|
||
|
||
## 📂 Structure des répertoires
|
||
|
||
| Catégorie | Source (PVE) | Destination (OMV via NFS) |
|
||
|-----------|--------------------------|----------------------------------|
|
||
| Anime | `/serie_music/anime` | `/mnt/pve/TVshows/Anime` |
|
||
| Série | `/serie_music/serie` | `/mnt/pve/TVshows/Serie` |
|
||
| Musique | `/serie_music/music` | `/mnt/pve/Music` |
|
||
|
||
---
|
||
|
||
## 🚀 Exécution
|
||
|
||
```bash
|
||
bash transfert_anime-music-serie.sh
|
||
```
|
||
|
||
⚠️ Si un transfert est déjà en cours, le script refusera de s'exécuter (grâce à un fichier de verrou `/tmp/pve2omvtransfert.lock`).
|
||
|
||
---
|
||
|
||
## 📆 Dépendances
|
||
|
||
- `rsync`
|
||
- `bash`
|
||
- Accès à `/mnt/pve/...` (ex : NFS monté depuis OMV)
|
||
- Utilisateur ayant les droits de lecture sur les dossiers source et d’écriture sur les dossiers de destination
|
||
|
||
---
|
||
|
||
## 🛡️ Gestion des erreurs
|
||
|
||
- Si un répertoire source est vide ou inexistant ➔ info dans le rapport.
|
||
- Si `rsync` échoue (notamment sur des caractères spéciaux en musique), les erreurs sont loggées dans :
|
||
|
||
```
|
||
/tmp/rsync_music.log
|
||
```
|
||
|
||
- Le script ne supprime les fichiers sources **qu’en cas de succès** de la copie.
|
||
|
||
---
|
||
|
||
## 🧹 Nettoyage automatique
|
||
|
||
- Le fichier de verrou (`/tmp/pve2omvtransfert.lock`) est supprimé automatiquement à la fin de l'exécution.
|
||
- En cas d’arrêt brutal, il peut rester et bloquer la relance : dans ce cas, supprime-le manuellement :
|
||
|
||
```bash
|
||
rm -f /tmp/pve2omvtransfert.lock
|
||
```
|
||
|
||
---
|
||
|
||
## 🔄 Relancer uniquement une catégorie
|
||
|
||
Pour relancer uniquement la musique par exemple :
|
||
|
||
```bash
|
||
bash -c '. ./transfert_anime-music-serie.sh; transfer_files "/serie_music/music" "/mnt/pve/Music" "Musique"'
|
||
```
|
||
|
||
---
|
||
|
||
## 📝 À améliorer éventuellement
|
||
|
||
- Envoi de mail avec le rapport
|
||
- Retry automatique des erreurs NFS
|
||
- Archivage des logs
|
||
- Options en ligne de commande pour ne traiter qu'une catégorie
|
||
|
||
---
|
||
|
||
> Fichier maintenu par l'utilisateur de Proxmox/OMV pour transferts planifiés.
|
||
|