Bonjour,
j'ai une bibliothèque de cds de données (environ 500) que je voudrais passer sur mon serveur NAS (il tourne sous ubuntu server, sans client X).
J'ai un bon niveau en programmation (procédural, objet, etc), mais niveau faible en admin système/ programmation bash.
il va falloir que je rentre les cds un à un, mais pour aller plus vite, je voudrais automatiser la copie des fichiers.
pour cela j'ai commencé un script en bash, mais j'avance assez lentement, et je voudrais savoir si quelqu'un peut m'aider/me conseiller sur les commandes à utiliser.
L'idée générale du script est la suivante :
si il y a un cd dans un lecteur, copier les données du fichier vers /data/bigone/
une fois la copie terminée, ejecter le cd.
et ainsi de suite.
J'utilise HAL qui me renvoie un true/false si il y a un cd dans le lecteur, et j'implémenterai une boucle infinie ensuite.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 #!/bin/bash CDSTATE=`hal-get-property --udi /org/freedesktop/Hal/devices/storage_model_CD_ROM_SC_152L --key storage.removable.media_available` DVDSTATE=`hal-get-property --udi /org/freedesktop/Hal/devices/storage_model_DVD_ROM_E616 --key storage.removable.media_available` if [ CDSTATE="true" ] then echo "cd absent" # boucler jusqu'a ce que le cd soit présent... else echo "dvd in drive" if #le cd n'as pas encore été copié... then cp -r /point/de/montage/du/cd /data/bigone fi # ejecter le cd en fin de copie... fi if [ DVDSTATE="true" ] # idem que pour le cd fi
mes questions sont les suivantes :
- comment puis savoir si le cd sera monté automatiquement?
- comment détecter que la copie est terminée?
- comment éjecter le cd?
- comment savoir si une copie est en cours?
- quelle est la meilleure boucle à faire?
je continue mes recherches de mon coté évidemment, et je surveille en meme temps les réponse de ce post.
merci d'avance de votre aide.
Partager