J'ai besoin de créer un Cronb qui s'exécutera quotidiennement sur mon serveur et passera sur un serveur distant avec un nom d'utilisateur et un mot de passe. Il va copier un répertoire sur ce serveur et le copier dans un répertoire sur mon serveur. Je veux ensuite que les fichiers soient supprimés sur le serveur distant.
Est-ce que quelqu'un peut m'aider avec ça?
Utilisez la commande suivante pour éditer votre travail cron:
crontab -e
Ajoutez ensuite ce qui suit à la fin de cela:
0 0 * * * lftp -u username,password -e "your command;quit" ftp.site.com
Évidemment, vous devez installer le paquet lftp au préalable.
Utilisez crontab -e
pour ouvrir votre fichier crontab. Puis ajouter:
0 3 * * * rsync -raz --remove-source-files 'user:password@remotehost:/directory/to/copy' '/local/destination/directory/'
Cela indique à cron d'exécuter cette commande tous les jours à 3 heures du matin. Ajustez les 5 premiers paramètres (0 3 * * *
) en fonction du temps nécessaire à l’exécution et de la fréquence d’exécution.
La commande rsync a les effets suivants:
-r
: récursivement, c’est-à-dire tout obtenir dans le répertoire source et dans les répertoires correspondants-a
: archive, c'est-à-dire conserver autant que possible les informations de source relatives au fichier-z
: compresser les données sur la source avant de les envoyer--remove-source-files
: supprime les fichiers du système source (le système distant dans ce cas)