
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 -u
aber 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 myftpsite
und es „synchronisiert“ die Dateien basierend auf dem Zeitstempel.