FTP-Client mit Funktion „Änderte Dateien hochladen“

FTP-Client mit Funktion „Änderte Dateien hochladen“

Ich suche nach einem FTP-Client, mit dem ich problemlos „Dateien hochladen kann, die seit dem letzten Hochladen geändert wurden“. (Oder Verzeichnisse basierend auf dem Änderungsdatum „synchronisieren“ kann.)

Ich verwende Ubuntu.

Bisher habe ich Gnome-Commander, GFTP und Midnight Commander ausprobiert.

(Ich weiß, dass ich das FTP-Dateisystem mounten und verwenden könnte, cp -uaber ich habe viele schlechte Erfahrungen mit per FTP gemounteten Dateisystemen.)

Antwort1

Ich verwende FileZilla, aber es hört sich wirklich so an, als ob Sie Rsync verwenden möchten ... ohne SSH, obwohl Sie lftp verwenden könnten.

http://lftp.yar.ru/lftp-man.html

aus der Manpage: mirror [OPTS] [source [target]]

 Mirror specified source directory to local target directory.
 If  target directory ends with a slash, the source base name
 is appended to target directory name. Source  and/or  target
 can be URLs pointing to directories.

      -c, --continue      continue a mirror job if possible
      -e, --delete        delete files not present at remote site
          --delete-first       delete old files before transferring new ones
          --depth-first        descend into subdirectories before transferring files
      -s, --allow-suid         set suid/sgid bits according to remote site
          --allow-chown   try to set owner and group on files
          --ascii         use ascii mode transfers (implies --ignore-size)
          --ignore-time        ignore time when deciding whether to download
          --ignore-size        ignore size when deciding whether to download
          --only-missing  download only missing files
          --only-existing download only files already existing at target
      -n, --only-newer    download only newer files (-c won't work)
          --no-empty-dirs don't create empty directories (implies --depth-first)
      -r, --no-recursion  don't go to subdirectories
          --no-symlinks   don't create symbolic links
      -p, --no-perms      don't set file permissions
          --no-umask      don't apply umask to file modes
      -R, --reverse       reverse mirror (put files)
      -L, --dereference   download symbolic links as files
      -N, --newer-than=SPEC    download only files newer than specified time
          --on-change=CMD      execute the command if anything has been changed
          --older-than=SPEC    download only files older than specified time
          --size-range=RANGE   download only files with size in specified range
      -P, --parallel[=N]  download N files in parallel
          --use-pget[-n=N]     use pget to transfer every single file
          --loop          loop until no changes found
      -i RX, --include RX include matching files
      -x RX, --exclude RX exclude matching files
      -I GP, --include-glob GP include matching files
      -X GP, --exclude-glob GP exclude matching files
      -v, --verbose[=level]    verbose operation
          --log=FILE      write lftp commands being executed to FILE
          --script=FILE        write lftp commands to FILE, but don't execute them
          --just-print, --dry-run   same as --script=-
          --use-cache          use cached directory listings
      --Remove-source-files    remove files after transfer (use with caution)
      -a             same as --allow-chown --allow-suid --no-umask

Den Rest erspare ich Ihnen. Es reicht für eine Novelle.

Antwort2

Ich habe gerade erfahren,Seitenkopieund es macht genau das, was ich will. Ich habe gerade eingegeben

site myftpsite
    server ftp.myftpsite.com
    remote /
    local /home/aioobe/work/mysite/public
    username myuser
    password mypass

und dann gebe ich einfach ein sitecopy --update myftpsiteund es „synchronisiert“ die Dateien basierend auf dem Zeitstempel.

verwandte Informationen