Version imprimable du sujet

Cliquez ici pour voir ce sujet dans son format original

Forums MacBidouille _ La Programmation En Général _ bot pour zipper un dossier chaque soir

Écrit par : Aladindindin 20 Aug 2018, 15:05

Bonjour,
J'essayes de faire un petit "programme" qui automatiquement et chaque jour à 14H ziperait un dossier de 4 fichiers (ce dossier ne bouge pas, il fait environ 9Mo) et enregistrerait le contenu chaque jour dans un autre dossier (qui lui est sur dropbox) en les nommant genre sauvegarde1, sauvegarde2...
J'ai commencé à lire un peu pour voir comment faire, mais pour l'instant c'est pas folichon!

Écrit par : PBell 20 Aug 2018, 19:19

Bonsoir et bienvenue.

Pour compresser les fichiers d'un dossier, le plus simple est d'utiliser la commande 'zip' sur le Terminal:

Code
zip -r archive_name.zip folder_to_compress


Pour tester cette commande :
1) ouvre le Terminal et entre la commande 'zip -r ' (oublie pas l'espace à la fin !)
2) fais glisser/déposer le dossier que tu cherches à archiver sur la fenêtre du Terminal. Par exemple le dossier DOS sur ton bureau affichera /disque/Users/Moi/Desktop/DOS
('disque' est le nom de ton disque, 'Moi' est le nom de ton user ).
3) corriges le nom DOS en 'Archive.zip' par exemple
4) ajoute un espace et glisse encore une fois le dossier DOS
La ligne de commande sur le Terminal doit ressembler à :
Code
zip -r /disque/Users/Moi/Desktop/Archive.zip /disque/Users/Moi/DOS

Lance cette instruction avec la touche Enter et quelques instants plus tard tu devrais avoir ton dossier DOS compresser dans un fichier Archive.zip sur ton bureau.

Saches que cette commande peut être lancée via un script Applescript avec l'instruction 'do shell script'.

Pour faire évoluer un indice (archive 1, archive 2,...) là encore Applescript peut t'aider. Une variable qui s'incrémente et qui permet de retrouver sa valeur précédente est une 'property' en Applescript.

De plus, pour lancer ton job à date/heure régulière, le plus simple est d'utiliser l'application Calendrier avec un évènement récurrent qui lance ton script.

Enfin, il reste à monter un volume dropbox et copier le fichier. Il me semble que tu peux avoir un volume/dossier dropbox sur lequel tu déposes les fichiers en mode off line et qui se synchronise dès la connexion établie.

Voilà les 4 pistes à creuser avec un peu de Google...
1) instruction 'do shell script' pour lancer la commande zip
2) déclaration d'une variable cet set en mode 'property' et, à chaque utilisation, incrémenter cette variable avec
Code
set Cpt to Cpt + 1

3) Vérification du fonctionnement dropbox/ copie/synchro
4) création d'évènements récurrents sur Calendrier avec lancement d'Applescript.

Bon courage !

Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)