After many months during which the
FileZilla FTP client would eat a ton of CPU and basically stop working in Fedora, whatever was wrong has been fixed, and the program is working once again.
After a FileZilla update caused the problem (and yes, I did contribute to the bug report), I set up
gFTP because I need a working FTP client. And gFTP gets the job done. It's super fast. It's also not actively developed.
Maybe I'll go back to FileZilla. Maybe not. But it's nice to have the option.
Is it possible to synchronize a local filesystem (really a directory and everything below it) with a filesystem/bunch-of-directories-and-files on a server with an ftp client application like FileZilla?
What I'm looking to do is create files and directories on my local drive and then use the client application to automatically (or at least semi-automatically) upload those new items to the server without me having to "drag them over" in the FTP client. I want to keep both directories in sync, much like Dropbox does, but without a third-party service in the middle, and without needing to upload the whole directory and contents, but just the changed/new items.
On the FileZilla forum, it is suggested that the tool for this job is not ftp but rsync.
I use rsync all the time for my local backups, and I'm not terribly well-versed in using it with ssh over the network, but I will look into this and see what I can come up with.
To make a long story I don't yet understand a whole lot shorter, rsync works in one direction, Unison in both, which can be better for backups when things are potentially changing on both server and client (or server and server, for that matter).
Problem with Unison: You must have Unison on both systems, and my shared hosting account's CentOS box doesn't offer it. It does have rsync, so I might have to go with that. Or I could just continue with my current arrangement of either working with the server's filesystem mounted over sftp most of the time, pushing local files over sftp some of the time, and using sftp to pull down backups on a regular basis.
Possible solution -- Csync: Rob suggests in the comments below that csync could work for this task. It only needs to be on the client side, and it both pushes and pulls files.
I've already installed it, and I'll look into making it work.
What I'm trying to do is keep filesystems in sync across different systems where there are potentially new and changed files on both sides.