Copie de fichiers en masse avec vérification
Bonjour amis développeur,
J'ai dans le cadre de mon nouveau travail un dilemme afin d'automatiser quelques actions récurrentes.
La demande actuelle est via un fichier qui sera rempli par mes soins à chaque intervention ou j'y applique un séparateur ";" de copier ou déplacer des fichiers en grande quantité vers un sous-répertoire archives pour que l'équipe sauvegarde passe par-
derrière. Le but du script est de demander premièrement l'action à faire "Copier" ou "Déplacer" et faire l'action qui va bien. Pour ensuite finir par une vérification totale de la bonne copie des fichiers concernés.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| #!/bin/bash
$fichier="/tmp/fichier.txt";
$nb= count($fichier);
$c="Copier"
$d="Déplacer"
cut -d ; -f 1 > $SOURCE
cut -d ; -f 2 > $FICHIER
cut -d ; -f 3 > $DESTINATION
select action in $c $d
do
echo "Vous avez choisi l'option $REPLY : $action"
case $REPLY in
1)
for i in fichier
do
cd $SOURCE
cp -npr $FICHIER $DESTINATION
done
2)
for i in fichier
do
cd $SOURCE
mv $FICHIER $DESTINATION
done
done
echo "Vérification de la bonne copie/déplacement des fichiers"
$nbfichier = wc -l $DESTINATION
if [ $nb == $nbfichier ] & [ $action == "Copier"]
echo "La copie a bien été effectuée"
else
echo "Il manque un ou plusieurs fichiers dans la copie"
fi
if [ $nb == $nbfichier ] & [ $action == "Déplacer"]
echo "Le déplacement a bien été effectuée"
else
echo "Il manque un ou plusieurs fichiers dans le déplacement"
fi |
Voilà à quoi ressemble le code que j'ai faits c'est une première, j'aimerais savoir si cela est correct ou s'il y a quelques erreurs.
Ce sont des environnements de production donc pas trop le droit à l'erreur.
Par avance je remercie le temps passé à me corriger.
Bonne journée