curlftpfs : ftp en ligne de commande, Monter répertoire d’un serveur FTP en LOCAL

Afin de monter un répertoire ftp, pour copier en ligne de commande facilement vers un serveur  il faut utiliser curlftpfssur .

curlftpfs fait partie de la logithèque d’ubuntu, mais il n’est pas installé d’origine,

Pour l’installer :

Sur un pc local ubuntu > applications >Logithèque Ubuntu > curlftpfss

Soit en ligne de commande dans un terminal (ssh avec putty.exe)

tapez

sudo apt-get install curlftpfs

_________________________________________________________

Pour l’utiliser, c’est très simple:

1) Créer sur votre serveur un répertoire (dossier) : exemple /MonFtp/

mkdir /MonFtp

2) Monter votre dossier du serveur FTP vers ce répertoir /MonFtp

  • MonServeurFtp  : c’est le nom de votre Serveur FTP ou son IP
  • /DossierDistant/ :   Dossier dans sur Serveur FTP racine souhaité.
  • Login:MotDePasse : Login de connexion et son Mot de passe
curlftpfs ftp://MonServeurFtp.fr/DossierDistant /MonFtp -o user=Login:MotDePasse

Terminée, Vous avez accès à votre FTP dans un dossier de votre système, /MonFtp/ comme s’il était sur votre PC !

Mise en garde : Attention :  Ce n’est pas visible sous Nautilus.

_____________________________________________________

Pour stopper l’accès :

il faut juste démonté /MonFtp

umount /MonFtp

_____________________________________________________

Pour copier / déplacer/ renommer c’est très simple :

il faut juste utiliser les Lignes de commande linux : cp, md, rd …

Exemples de copie vers le serveur FTP en lignes de commandes :

cp -r /exempleDossierLocal /MonFtp/

Exemple pour créer un dossier du serveur FTP en lignes de commandes :

mkdir  /MonFtp/NouveauDossier

Exemple pour supprimer un dossier du serveur FTP en lignes de commandes :

rm -Rf /MonFtp/NomDuDossier

_____________________________________________________

Pour automatiser une copie FTP avec un script de lignes de commande

ici un tutoriel : comment copier  automatiquement avec un script curlftpfs

Publicités

Script de copie base Mysql entre deux serveurs (magento, Prestashop..)

Le but est de copier une base Mysql entre deux serveurs automatiquement, par exemple toute les nuits à 5h30 du matin.

  • Vérifier que les accès Mysql soient ouverts dans my.cnf
  • avoir au moins une base créer vierge sur le Serveur de destination (la première)
  • créer un petit Script.sh
  • Planifié le Scritp (Cron)

1) Ouvrir l’accès Mysql vers l’extérieur :

  • Editez le fichier : /etc/mysql/my.cnf
  • Commentez la ligne avec un # : skip-networking et Bind-address
  • Redémarrer  : Service mysql restart

J’ai fait un tutoriel ici : Explication pour Autoriser la connexion a distance MySQL

2) La première fois :

Créer une base de donnée vierge et un utilisateur sur le serveur de destination (Cible).

Si vous avez Plesk :

  • Créer la base vièrge : Dans Plesk >  Accueil> Abonnements> VoreSiteWeb> Sites Web & Domaines> Bases de données > Sélectionnez > Ajouter une nouvelle Base de données

3) Création et Exécution du Script:

Il doit être placé et exécuté dans un dossier du serveur de destination (cible)

Avec un éditeur de texte vous créer un fichier ici et sous le nom : /var/vhosts/VotreSite.fr/httpdocs/VotreMagento/shell/Script_sauvegarde_Mysql.sh

  • Il doit impérativement commencer par : #!/bin/sh

Remplacer

LoginBaseDistant : le nom de l'utilisateur de la base distante 
MotdePasseBaseDistant : Mot de passe de la base distante
NomBaseDistant : nom de la base distante 
VotreCheminCible : Votre dossier de destinations
#!/bin/sh
# La première ligne sert à spécifier quel shell tu veux excéuter. ici sh
# pour executer un script il faut
# 1) changer c'est droit pour devenir executable:  chmod 777 NomDuScrip.sh
# 2) puis l'executer : ./NomDuScrip.sh

echo "Etape 1 ) Récupération de la base distante et sauvegarde en cours..."
 mysqldump -h 192.154.154.10 -u LoginBaseDistant -pMotdePasseBaseDistant NomBaseDistant >/VotreCheminCible/Sauvegarde.sql 

chmod 777 /VotreCheminCible/Sauvegarde.sql  

echo "Etape 2 ) Restauration sur ce serveur de cette sauvegarde en cours..."

mysql -u LoginBase -pMotdePasseBase NomBase </VotreCheminCible/Sauvegarde.sql 

echo "Terminée"
  • Enregistrer le fichier dans un  dossier de votre Serveur, par exemple /var/MesSauvegarde/sauvegardeMysql.sh
  • Ajouter le Droit de exécuter : chmod 777 /var/vhosts/VotreSite.fr/httpdocs/VotreMagento/shell/Script_sauvegarde_Mysql.sh
  • Pour exécuter il vous plus qu’a taper :
    ./var/vhosts/VotreSite.fr/httpdocs/VotreMagento/shell/Script_sauvegarde_Mysql.sh

4) Modifier automatiquement : Core_Config_data

Pour Magento : Ajouter des instructions Mysql pour Modifier automatique le fichier Core_Config_data :

si votre Serveur Destination n’a pas le même dossier pour Magento, et certainement par la même URL, voici ce de vous devez ajouter ceci au Script pour qu’il modifie automatiquement le  Core_Config_data :

C’est très simple, dans un petit fichier texte vous saisissez les instructions Mysql que vous avez besoin, vous ajoutez un ; a la fin de chaque ligne.

Dans un Fichier texte appeler :mes.mysql

je saisie ces deux lignes pour Modifier le Core_config_data de Magento

update core_config_data set  value="http://MonSite/MonDossierMagento/" where path="web/secure/base_url";
update core_config_data set  value="http://MonSite/MonDossierMagento/" where path="web/unsecure/base_url";

Pour l’exécuter, je peux saisir :

Mymysql -h localhost -u User161 -p35hpzq.. Base161 < mes.mysql

Ou vous ajouter au  Script   (voir Tuto créer un Script)

#!/bin/sh
# La première ligne sert à spécifier quel shell tu veux excéuter. ici sh
# pour executer un script il faut
# 1) changer c'est droit pour devenir executable:  chmod 777 NomDuScrip.sh
# 2) puis l'executer : ./NomDuScrip.sh

echo "Lancement du Script"
mysql -h localhost -u User161 -p35hpzq.. Base161 <mes.mysql
Echo "Terminé"

5) Vous n’avez plus qu’a insérer ce petit script dans un tâche Planifiée avec Crontab ou Gmone-schedule


Créer une tâche Planifiée

  • Démarrez Tâche Planifiées > Applications > Outils système > Tâches Planifiées
  • Cliquez sur Nouveau
  • Cliquez sur Une tâche lancée régulièrement
  • Saisissez une Description “Ma sauvegarde”
  • Commande : Précisez votre Script ou la ligne de commande :  ./var/vhosts/VotreSite.fr/httpdocs/VotreMagento/shell/Script_sauvegarde_Mysql.sh
  • Expert saisissez : Minute 0 – Heure 7 – jour * – Mois * – jour de la semaine * = à 5H00 tous les jours
  • Ajouter et Valider
  • Voila Gnome-schedule a inséré pour vous la ligne cron
    0 5 * * * ./var/vhosts/VotreSite.fr/httpdocs/VotreMagento/shell/Script_sauvegarde_Mysql.sh

Vous pouvez Cliquez sur  Lance la tache Sélectionner + “Exécuter” pour tester la tache.

___________________________________________________________________

Ou  avec crontab  (Planificateur de tâche en ligne de commande )

(sans gnome-schedule), tapez :
crontab -e
insérez : 0 5 * * * ./var/vhosts/VotreSite.fr/httpdocs/VotreMagento/shell/Script_sauvegarde_Mysql.sh

Explication des instructions crontab sur wikipedia


 j’ai fait un tutoriel sur les taches Planifiées ici

_______________________________________________________


VOIR AUSSI : Voir tutoriel Créer une sauvegarde Mysql Magento en ligne de commande ici

Copier une base MySQL entre 2 serveurs avec Plesk (Magento, Prestashop, etc…)

Que ce soit une Base Magento, Prestashop ou tout autre, c’est du MySQL.

Avez vous déjà essayez d’utiliser Plesk (à partir de la 10 ou supérieur) pour copier votre base de données MySQL

C’est très simple mais d’origine ça ne fonctionner pas !

Procédure :

1) Ouvrir l’accès Mysql vers l’extérieur :

  • Editez le fichier : /etc/mysql/my.cnf
  • Commentez la ligne avec un # : skip-networking et Bind-address
  • Redémarrer  : Service mysql restart

J’ai fait un tutoriel ici : Explication pour Autoriser la connexion a distance MySQL

2) Créer une base de donnée vierge et un utilisateur

Sur le serveur de destination (Cible).

  • Créer la base vièrge : Dans Plesk >  Accueil> Abonnements> VoreSiteWeb> Sites Web & Domaines> Bases de données > Sélectionnez > Ajouter une nouvelle Base de données

3) Copier la  base de donnée vers l’autre serveur

Sur le serveur Source (de départ):

  1. Copier la base : Dans Plesk >  Accueil> Abonnements> VoreSiteWeb> Sites Web & Domaines> Bases de données > Sélectionnez > la Base source
  2. Cliquez sur faire une copie
  3. Serveur de la base de données cible Sélectionnez :  Autres…
  4. Saisissez Nom d’hôte ou adresse IP * :  Mettre ip du serveur cible
  5. Nom d’utilisateur* mettre le nom de la base cible (la base vierge)
  6. Mot de passe* de la base cible (la base vierge)
  7. Coché : Copier vers la base de données existante :
  8. Saisissez le nom de la Base cible (la vierge)

Terminé 🙂


Pour Magento :

Pour utiliser cette copie votre Magento dans un autre dossier ou serveur, il va faloir modifier aussi, core_config_data, Local.xml, .htaccess.. j’ai fait un tuto ici.


Voici ici une autre méthode pour:

Automatiser la sauvegarde Mysql entre 2 serveurs. avec un Script :

J’ai fait un Tutoriel ici : Comment automatiser la sauvegarde Mysql entre 2 serveurs. avec un Script