It gets even trickier if you're using private keys. So a full inventory of the firewalls and open ports would need to be considered. You can connect to mysql non-locally, but that's only if your hosting provider allows you to do so. If you don't have access to the shell, the ability to write cron scripts, etc. Slightly different commands, different paths. Downside: you have to install a companion "app" on your server, and then it might not work quite as well on different *nix flavors, etc. (This of course would consume a lot of bandwidth, and so it would be better to do with some way of tracking changed files or a database diff sort of thing, depending on the size of the database). Then it seems like it would be easiest to write a cron job on the server that would check for the new files in an upload directory and then run a script to make a backup of the website, overwrite the database, and drop in the new files. So, say you're using a virtual machine that you have root access to. So, native command line tools that can be backgrounded would be best. It wouldn't be nearly as good to do it through any programs (like ForkLift) as they would have to be launched and would play in the foreground. There are quite a few moving parts here, and each would be up to the hosting configuration. Then you'd have to somehow ssh in to the server and do a drop database and import sort of workflow. It seems like the easiest way to do that would be to actually write a config file for each site, then use the mysqldump command tools and rsync to update the files in the background.
0 Comments
Leave a Reply. |