Saltar al contenido

¿Cómo montar recursos FTP con fstab cuando la conexión está disponible?

Te doy la bienvenida a nuestra web, en este sitio hallarás la resolución a lo que necesitas.

Solución:

Como su objetivo es “sincronizar una carpeta local con la carpeta ftp con crontab rsync”, le sugiero que escriba un pequeño script que monte el FTP, rsync, desmonte el FTP. Luego ejecute este script desde crontab.

Debería ser algo como esto:

#!/bin/bash
curlftpfs user:[email protected]:port/folder/ /mnt/mymountfolder
#might need sleep 1 here
rsync -a /mnt/mymountfolder /local/folder
fusermount -uz /mnt/mymountfolder

Asegúrese de hacer chmod +x en el script.

crontab -e

#m h d M wd
0 * * * * /usr/local/bin/backup-script

Además, si realmente desea que la carpeta FTP esté montada todo el tiempo, puede crear un script que monte/desmonte su disco. Si también lo agrega a fstab, puede montar manualmente la unidad.

fstab:

curlftpfs#user:[email protected]:port/folder/ /mnt/mymountfolder fuse noauto,user,uid=1000,gid=1000,umask=0022 0 0

montaje en red.sh:

#!/bin/bash
folder=/media/ftp
# check if host is alive
ping=`/usr/bin/fping -q host.dyn.org`
if [ $? == 0 ]; then
  # check if folder is mounted
  mountpoint $folder > /dev/null
  if [ $? != 0 ]
    # mount, timeout in case something goes wrong
    then timeout 10s mount $folder
  fi
  else
  mountpoint $folder > /dev/null
  if [ $? = 0 ]
    #unmount lazy (network down)
    then umount -l $folder
  fi
fi

Agregue esto a crontab (crontab -e):

* * * * * /usr/local/bin/network-mount.sh

También tenga cuidado de que su rsync no se complete antes de que se ejecute el siguiente. Esto podría hacerse automáticamente (compruebe si rsync se está ejecutando), o en función de la cantidad de datos que deben estar sincronizados (cantidad de tiempo que tarda rsync, en el peor de los casos).

Suponiendo que no ejecute rsync para nada más, verificar si se está ejecutando podría hacerse de esta manera:

pgrep rsync
if [ $? == 0 ]; then
  # rsync running
  exit
else
  # rsync not running
  #do stuff
fi

Puedes añadir valor a nuestra información contribuyendo tu veteranía en los informes.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *