Now that my servers and I live in completely different houses, I can’t use Samba to make working on my websites easy (at least, not without opening a big can of wriggly security worms). Using an FTP client to upload files every time I change them is a huge pain in the ass, and it makes me feel like it’s 1996 again, so I whipped up something to do the work for me.

LazyFTP is a PHP script that keeps remote files in sync with local files via FTP. It does this by monitoring the local directory tree for additions, changes, and deletions, and uploading or deleting files on the FTP server when necessary. It runs from the command line on any operating system that PHP supports (Windows, Linux, FreeBSD, MacOS X, etc.).


Update: I’ve renamed the script from Filemon to LazyFTP, since it turns out there’s already a widely-used Linux tool named Filemon (although it does something completely different).