Moyen le plus simple de dupliquer un répertoire via FTP


9

Je veux dupliquer un répertoire sur un serveur FTP auquel je suis connecté depuis mon Mac via la ligne de commande

Disons que oui file. Je veux avoir files2tous fileles sous-répertoires et fichiers de, dans le même répertoire que l'original. Quelle serait la manière la plus simple d'y parvenir?

ÉDITER:

Avec mgetet mputvous pouvez télécharger tous les fichiers et les télécharger à nouveau dans un dossier différent, mais ce n'est certainement PAS ce que je veux / besoin (j'ai commencé cette question en essayant d'éviter la duplication avec cette méthode de téléchargement par téléchargement à partir du client dektop)

Réponses:


8

Ce que vous avez n'est pas une ligne de commande Unix, ce que vous avez est une session FTP. Le FTP est principalement conçu pour télécharger et télécharger des fichiers, il n'est pas conçu pour la gestion générale des fichiers et il ne vous permet pas d'exécuter des commandes arbitraires sur le serveur. En particulier, à ma connaissance, il n'y a aucun moyen de déclencher une copie de fichier sur le serveur: tout ce que vous pouvez faire est de télécharger le fichier puis de le télécharger sous un nom différent.

Certains serveurs prennent en charge les extensions du protocole FTP, et il est possible à distance que l'une de ces extensions vous permette de copier des fichiers distants. Essayez help siteou remotehelppour voir quelles extensions le serveur prend en charge.

Si vous voulez une ligne de commande Unix, vous avez besoin d'un accès shell distant, via rsh ( r emote sh ell) ou plus couramment dans le ssh du 21e siècle ( s ecure sh ell). S'il s'agit d'un hôte Web, vérifiez s'il fournit un accès ssh. Sinon, contactez l'administrateur système. Mais ne soyez pas surpris si la réponse est non: l'accès en ligne de commande serait une faille de sécurité dans certaines configurations multi-utilisateurs, il peut donc y avoir une raison légitime pour laquelle il n'est pas proposé.


Je vais vérifier, je pense que cela résume très bien tout le problème !! Merci beaucoup!!
Trufa

Juste pour clarifier, Hostgator propose des ssh emprisonnés dans les comptes partagés.
Trufa

4

Voici comment le faire avec lFTP :

# lftp ftp_host
user ftp_user ftp_pass
mirror source target (download entire directory tree)
mirror -R source target (reverse mirror; upload entire directory tree)

1

C'est faux maintenant, mais ne pas le supprimer pour que l'arborescence des commentaires ne soit pas perdue

cpcopie des fichiers et des répertoires; vous pouvez lui donner le -rdrapeau pour qu'il recopie récursivement tout. À partir du dossier qui contient file:

$ cp -r file files2


Cela ne semble pas fonctionner, j'ai omis de mentionner (parce que je pensais que ce serait la même chose) que j'essaie de le faire via une connexion FTP établie à partir d'un terminal mac. Cela me donne cette erreur: macro 'cp' introuvable. Merci
Trufa

2
@Trufa Oh! Non, c'est assez différent; FTP et la ligne de commande sont complètement séparés. J'ai édité votre question pour clarifier, espérons-le
Michael Mrozek

Je suis tellement désolé, je pensais que cela ne me dérangerait pas parce que "j'utilisais la ligne de commande UNIX via FTP", ce n'est évidemment pas le cas! Merci pour l'édition !!
Trufa

Est-ce une question pour stackoverflow? cela peut être plus une question de programmation qu’une question UNIX, je ne sais pas.
Trufa

2
@Trufa Certainement pas SO. Peut-être SU, mais je pense que ça va ici
Michael Mrozek

1

LFTP prend en charge les commandes de niveau supérieur au-dessus de ce que le protocole FTP fournit, par exemple sa mirrorcommande fournit ce que vous voulez.

Il existe d'autres programmes avec des fonctionnalités similaires; sitecopy est un autre exemple.


Merci "" a l'air sympa, va jeter un oeil! Une dernière question, lorsque j'accède via l'administrateur cPanel à l'administrateur de fichiers? Qu'est-ce que je fais, car il semble que l'enfer soit plus rapide pour faire certaines choses que via ftp.
Trufa
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.