AppleScript
Script de Synchronisation FTP en download
Présentation
Il permet l'automatisation d'une synchronisation d'un répertoire distant (serveur) vers un répertoire en local
(ordinateur).
Ce script utilise le logiciel "Transmit" pour le FTP, (c'est celui que j'utilise) on doit pouvoir l'adapter à un autre logiciel.
La configuration se fait avec "Automator", logiciel fournit dans tout ordinateur Mac.
Enfin de programmer une synchronisation automatique (jour, heure, mois), je vous conseille "Cronnix".
Ce script est simple, il est très util et pratique pour une sauvegarde régulière sans aucune intervention de votre part.
N'hésitez pas à l'améliorer.
Configuration
-- AppleScript - Transmit - synchronize un répertoire sur un serveur vers un répertoire en local en FTP
-- Copyright (C) 2017-2019 Jol
-- This script use application "transmit"
— This script is free for amelioration
tell application "Transmit"
-- Supprime les pop-up d'alertes durant l'exécution du script
set SuppressAppleScriptAlerts to true
# Configuration du script à faire ci-dessous :
# Remplacez les cases avec les étoiles (*) par vos paramètres
# 1****** : Le nom de votre favori correspondant au nom de votre connexion ftp sur transmit.
# 2****** : le nom du répertoire distant (votre serveur) que vous voulez synchroniser
# exemple : répertoire/sous-répertoire
# 3****** : le nom du répertoire local (sur votre ordinateur)
# exemple : downloads/nomdurépertoire
-- DEBUT DE LA CONFIGURATION - Ci-dessous modifier les paramètres
-- Inscrivez entre les "" le nom de votre favori du logiciel "transmit"
set remoteFavorite to item 1 of (every favorite whose name is "1******")
-- inscrivez entre les "" le répertoire sur le serveur que vous voulez synchroniser
set remotePath to "2******"
-- inscrivez entre les "" le répertoire en local que vous voulez synchroniser
set localPath to "3******"
-- FIN DE LA CONFIGURATION
-- Définit une variable pour toutes les règles qui sont activés dans les préférences de "transmit"
set myRules to (every skip rule whose enabled is true)
-- Créer une nouvelle fenêtre pour ce script
tell current tab of (make new document at end)
-- dossiers que nous voulons synchroniser
change location of local browser to path localPath
connect to remoteFavorite
/* == si vous avez ce message d'erreur " Erreur Apple Events : « Le temps imparti est dépassé » ",
remplacez la ligne ci-dessous "with timeout of 300 seconds"
par "with timeout of 0 seconds".
Cela va vous permettre de synchronizer des répertoires plus important nécessitant un temps de synchronisation plus
long. */
with timeout of 300 seconds
change location of remote browser to path remotePath
-- Exécutez une synchronisation du dossier distant actuel vers le dossier local
synchronize remote browser to local browser using skip rules myRules with follow symlinks and automatically
determine time offset
-- Close the current window
close
end timeout
end tell
end tell
Boite de dialogue finale
Remplacer les étoiles (*) par le texte de votre choix
-- Ajout d'une boite de dialogue à la fin du script
-- Ajouter le texte que vous désirez voir entre les ""
set infos to "******"
display dialog infos buttons {"OK"}
Les versions
Version 1.0.01.17
[-] Pas de publicité, pas de bannière, pas de pop-up
[+] D'avantage de services.
[+] Mise en place d’un financement pour ce travail, script développé pendant mon temps libre, afin d’assurer une
pérennité du script.
Le prix du script est néanmoins modeste.
Cette participation est un soutien que l’on veut témoigner à l’auteur, lui permettant d’assurer les frais du site "Le P’tit
Coin de Jol".
Il ne s’agit pas d’une licence, vous pouvez le modifier, l'améliorer. Le montant de ce script est une contribution pour
encourager l'auteur.
Installation facile même pour un débutant
Version 1.1.12.18
[+] Création d’un tutoriel amélioré
[+] Modification à faire pour des répertoires à synchroniser importants (Merci à Eric S. pour ses remontées).
Astuce
A partir d'automator, quand votre script est paramétré, créez une application app pour la lancer en 2 clics
de souris.
1. Fichier > appuie sur la touche 'alt' > Enregistrez sous
2. Choisir Application dans la nouvelle fenêtre
3. .workflow se change en .app !
Vous l'enregistrez et vous avez une application de votre script
Remerciements
Si ce projet vous plait, n'hésitez pas à remercier l’auteur, vous pouvez laisser remarques et suggestions
dans la rubrique du forum.
Auteur : Jol
Site web : LeP'titCoinDeJol
Vous pouvez participer à l’amélioration du projet en proposant :
==> des modifications, améliorations sur la page d'aide et support du forum.
Je tiens à remercier toutes les personnes qui m'ont déjà aidées en me remontant quelques bugs et celles
qui m'aideront dans les semaines et mois à venir.