Aller au contenu

Synchronisation auto Synology -> Serveur externe (AMEN)


McIntosh

Messages recommandés

Bonjour la communauté,

J'ai réussi à faire utiliser un serveur Synology à mon entreprise !!  c'était une évidence pour moi mais bon ...

mais j'ai un petit soucis de synchronisation et je ne parviens pas à trouver le sens.

j'aimerai synchroniser automatiquement un dossier ou fichierS depuis mon synology vers un serveur (site joomla) par FTP ou autre ... !

-sur le synology j'ai tout installer mais je n'ai rien trouvé

- du cote du serveur, apparemment aucune extension joomla n'existe...

Le but c'est que je travaille sur un fichier excel depuis le synology -> j'enregistre -> synchronisation auto vers le serveur -> une extension joomla regarde dans se dossier -> cet meme extensions affiche le tableau excel sur le site.

Mais cela ne fonctionne pas, est ce que une âme charitable aurait une idée du comment du pourquoi ? pour que la synchronisation se fasse automatiquement

 

un grand merci et bonne journée

Lien vers le commentaire
Partager sur d’autres sites

Plein de manière de faire mais qui dépendent de tes connaissances.

  • Le plus simple (mais pas ma recommandation) c'est de "monter" ton site en FTP avec FileStation.
  • Le plus fiable c'est de faire un petit script lancé en tache planifiée qui fait un rsync de ton dossier source vers ton dossier de destination.
  • Entre les 2 tu as la possibilité d'utiliser HyperBackup (dernière destination dans la liste). Ça fait aussi du rsync.
  • Après tu as toutes les méthodes "custo", par exemple :
    • le syno a un interpréteur php, tu devrais donc pouvoir coder un petit script qui se connecte aux api de joomla
    • un petit script coté joomla pour aller chercher les fichiers
    • un point de montage cifs/nfs entre les 2
    • un petit scp planifié
    • ...
Lien vers le commentaire
Partager sur d’autres sites

Merci pour ton retour, 

1. j'ai bien "monte" mon site en FTP sur File Station mais je n'ai trouvé aucune option qui puisse faire ce que je demande. A moins qu'il faille un script pour que cela fonctionne mais ca je ne m'y connait pas vraiment...

2. du cote de joomla je cherche encore une extension qui pourrait le faire mais pour le moment ma recherche est en vain.

3. Hyperbackup je ne vois pas ou chercher le serveur FTP pour la synchro il ne me propose que des fichiers locaux 

Lien vers le commentaire
Partager sur d’autres sites

Il y a 7 heures, McIntosh a dit :

1. j'ai bien "monte" mon site en FTP sur File Station mais je n'ai trouvé aucune option qui puisse faire ce que je demande. A moins qu'il faille un script pour que cela fonctionne mais ca je ne m'y connait pas vraiment...

il faut effectivement scripter si tu veux automatiser

Il y a 7 heures, McIntosh a dit :

3. Hyperbackup je ne vois pas ou chercher le serveur FTP pour la synchro il ne me propose que des fichiers locaux 

HyperBackup utilise rsync, pas ftp

-----

Si tu tiens absolument à le faire en FTP (c'est sale), tu peux utiliser un petit script, un truc dans le genre :

#!/bin/bash

HOST='ton serveur joomla'
USER='login'
PASS='password'
FTPURL="ftp://$USER:$PASS@$HOST"
LCD='/volume1/partage/dossier/source'
RCD='/dossier/de/destination'
#DELETE='--delete'
#DELETE='--delete'
DELETE=''
lftp -c "set ftp:list-options -a;
open '$FTPURL';
lcd $LCD;
cd $RCD;
mirror --reverse \
       $DELETE \
       --verbose"

 

Lien vers le commentaire
Partager sur d’autres sites

Re ^^

 

Alors j'ai travaillé dessus toute la semaine, j'ai pu en retirer quelque chose !

J'ai un code php (que je comprend ^^ mais pas tout a fait) qui envoi le fichier de mon synology vers un serveur linux Amen.

Quand je test le code d'un serveur Amen vers un serveur 1and1 cela fonctionne, le fichier est bien transféré.

Mais quand je l'intègre dans le planificateur de tache (en le modifiant biens sur) la il ne se passe rien...

Le code étant :

<?php

// Ouverture de quelques fichiers pour lecture
$file = "volume1/Kit/BIOINTRA.xlsx";
$fp = fopen($file, 'r');
$ftp_server = "ftp.monserveuramen.com";
$ftp_user_name = "utilisateur";
$ftp_user_pass = "motdepasse":
$local_file_size = filesize($local_file_path);

// Mise en place d'une connexion basique
$conn_id = ftp_connect($ftp_server);

// Identification avec un nom d'utilisateur et un mot de passe
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Tente de charger le fichier $file
if (ftp_fput($conn_id, $file, $fp, FTP_ASCII, $local_file_size)) {
    echo "Chargement avec succès du fichier $file\n";
} else {
    echo "Il y a eu un problème lors du chargement du fichier $file\n";
}

// Fermeture de la connexion et du pointeur de fichier
ftp_close($conn_id);
fclose($fp);

?>

 

 

Merci de votre temps, c'est peut-etre pas grand chose.

 

Philippe

Lien vers le commentaire
Partager sur d’autres sites

tout au début par dans mon fichier php ?

du coup j'ai mis cela et voici mon code out.txt :

 

Warning: fopen(BIOINTRA.xlsx): failed to open stream: No such file or directory in /volume1/Kit/chargement.php on line 5

Fatal error: Call to undefined function ftp_connect() in /volume1/Kit/chargement.php on line 12

Lien vers le commentaire
Partager sur d’autres sites

Ça indique que ton code s'est exécuté, mais qu'il contient des erreurs et/ou qu'il fait appel à des fonctions (class) non disponibles sur ton nas.

Il y a 8 heures, McIntosh a dit :

Warning: fopen(BIOINTRA.xlsx): failed to open stream: No such file or directory in /volume1/Kit/chargement.php on line 5

ce fichier n'existe pas, à toi de corriger

Il y a 8 heures, McIntosh a dit :

Fatal error: Call to undefined function ftp_connect() in /volume1/Kit/chargement.php on line 12

cette fonction n'est pas disponible sur ton nas (elle peut peut-être être activée, mais pas sur, à vérifier dans la conf de webstation)

Modifié par Fenrir
Lien vers le commentaire
Partager sur d’autres sites

  • 4 mois après...

Bonjour,

Le poste est assez ancien mais bon voila une solution que j'utilise avec un fichier ftp.sh que voici:

##### Sauvegarde fichier d'un site web distant par FTP avec lftp
######################################################################################
## Remarque sur lftp
## + Le -e de mirror efface les fichiers qui n'existent plus.
######################################################################################
## Paramètre en entrée
##     1 : -e ou rien
##         pour effacer tous les fichiers du local qui n'existent plus sur le FTP
######################################################################################

# configuration fichier de log
ficLog=/volume1/Informatique/@SCRIPTS/FTP/LOGS/logSvgSite.txt

# configuration : ftp / user / pass
servFTP=ftp.xxxxx.fr
userFTP=USER_FTP
passFTP=MONPASSWORDFTP

# configuration des differents dossiers
repFTP=/home/arborescence/NAS
repLocal=/volume1/Informatique/@FTP_MAJ_SITES
repIgnore=""

######################################################################################
# debut shell
echo "+-- Deb Sauvegarde $(date) ---" >> ${ficLog}

# commande de copie miroir local vers ftp
/usr/bin/lftp sftp://${userFTP}:${passFTP}@${servFTP}:22 -e "mirror -R ${repLocal} ${repFTP} --ignore-time --no-perms -e ; quit"  >> ${ficLog}

# résultat de la commande - 0 : ok
res=$?
echo "Résultat : "${res} >> ${ficLog}

#if [ ${res} -eq 0 ]
#then /usr/syno/bin/synomail SVGFini
#else /usr/syno/bin/synomail SVGError
#fi

# fin shell
echo "--- Fin Sauvegarde $(date) ---" >> ${ficLog}
######################################################################################
exit $res

 

Reste l'ajout d'une cron dans l'interface web (planificateur de taches) en personnalisé :

/bin/sh /volume1/Informatique/@SCRIPTS/FTP/ftp.sh

Fonctionne chez moi avec la derniere version DSM (6.1)

 

+

 

Modifié par calamarz
Lien vers le commentaire
Partager sur d’autres sites

  • 2 mois après...

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.