The famous Phing build tool (written in PHP) offers automation for repetitive tasks, which need to be executed by the Linux terminal. So you can sync an entire website (files and database) to the remote server. Here is an example of a Phing target to do the job:
This target is later contained in your build.xml file. Afterwards you can execute the following command:
phing syncWebsiteToLiveThe output will be the following:
Buildfile: /home/peter/build.xml
DevOps > syncWebsiteToLive:
[echo] Syncing data to live server.
sending incremental file list
db_dumps/latest.sql
7,515,285 100% 111.94MB/s 0:00:00 (xfr#1, ir-chk=1009/1040)
[echo] Delete old database
[echo] Create new empty database
[echo] Import database dump
BUILD FINISHED
Total time: 5.7706 seconds
The website has been single by one single console command in an absolute minimum of time. This approach is good for a website in development stadium or a website which database can be just replaced. Then this way can save a lot of time compared to other approaches like ftp and manual database dump import.