Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 22/02/2017, à 00:57

Compte supprimé

Script de nettoyage du dictaphone USB après archivage.

Bon, je n'ai pas envie de perdre mon script si je perds tout chez moi ! (casse, vol, feu, formatage accidentel des sauvegardes, dons de disques pour dépanner…)

Voici mon script utilisant Zenity, parce que c'est mieux qu'en ligne de commandes.

#!/bin/bash
# 20170221
# L_d_v_c@
# nullfiles.sh
#
# Ce script est destiné à libérer l'espace mémoire sur un enregistreur monophonique qui se connecte et se gère comme une clé USB.
# Les fichiers enregistrés sont à la racine de la clé, stockés dans le répertoire RECORD, avec des noms de fichiers de type RECnnn,
# nnn allant de 000 à 999.
# Si j'efface la clé à chaque fois, alors les enregistrements reprennent à REC000, pas pratique pour s'y retrouver, puisque la gestion
# de la date de création des fichiers de cette enregistreur qui n'a qu'un bouton de marche et arrêt, n'est pas fonctionnelle.
# Le But est de ne pas oublier d'archiver les enregistrements, avant de ramener chaque fichier à une taille de 1 octet,
# tout en conservant le nom dans l'arborescence. Cela libère la mémoire d'enregistrement, sans créer de fichier portant le nom
# d'un ancien enregistrement. Un fichier de taille 0 octet est ignoré par l'enregistreur, et sera écrasé, d'ou la taille d'un octet.
# Ce script se met à la racine du répertoire de l'enregistreur, dans lequel on rencontre le répertoire RECORD.
# Ce script peut être exécuté depus la console pour plus de messages bavards.


repertoire="./RECORD" #amélioriation à faire : le répertoire par défaut à voir avec zenity
#repertoire=$(zenity --file-selection --directory 2>/dev/null) 
#la ligne du dessus n'est là que pour la réutilisation du script, mais repertoire="./RECORD" suffit pour ce dictaphone USB.

if [ $? = 0 ]
then
	echo "Répertoire $repertoire sélectionné…"

	zenity --title="Effacement automatique des fichiers de $repertoire" --text="Les fichiers du répertoire $repertoire sont-ils archivés ?" --question 2>/dev/null

	if [ $? = 0 ]
	then
		echo "Effacement en cours…"
		
		fichiers=$(ls $repertoire)
		
		for fichier in $fichiers; do {
			echo "Le fichier $fichier est mis à 1 octet."
			dd if=/dev/zero of=./$repertoire/$fichier bs=1 count=1 2>/dev/null
			#rm $repertoire/$fichier
			#touch $repertoire/$fichier
		} done
		echo "Opération accomplie."
	zenity --info --title="Effacement automatique des fichiers de $repertoire" --text="Opération accomplie." 	2>/dev/null
		exit 0
	else
		echo "Opération annulée…"	
		zenity --info --title="Effacement automatique des fichiers de $repertoire" --text="Opération annulée…" 2>/dev/null
	fi
fi
exit 0


Je n'ai pas encore retrouvé le source du programme Arduino du jeu de lumières, d'il y a quelques années, destiné à la licence Creative Commons…
Il ne me reste que l'exécutable Arduino, que je vais devoir reprendre en assembleur ATmega328P. Pas cool. Pas motivé. Pas le temps ni l'esprit libre.
Entre 300h et 350h passées sur le jeu de lumières Arduino, l'étude, la programmation, la fabrication, la vérification manuelle des 26 routines avec 4 vitesses chacune (104 séquences lumineuses)…
Heureusement, il m'est possible de récupérer le programme que j'ai télécharge dans la puce. Mais pas facile de le modifier facilement…

Je partage désormais directement ce que je fais dans un soucis de partage, surtout de sécurité d'archivage.

#2 Le 22/02/2017, à 01:13

Watael

Re : Script de nettoyage du dictaphone USB après archivage.

salut,

fichiers=$(ls $repertoire)

        for fichier in $fichiers

non !

for fichier in "$repertoire"/*

à noter également, que le signe égal dans un test ne compare pas des chiffres, mais des chaînes.
cf. $ help test | grep -A3 Arithm


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#3 Le 28/02/2017, à 23:13

Compte supprimé

Re : Script de nettoyage du dictaphone USB après archivage.

Merci Watael.
Je regarderai ça quand j'aurai le temps.