Put the following into a script (eg sync.sh ), then chmod +x sync.sh
#!/bin/bash # Add your ssh key to the remote server before running this# Where are the local files going to be savedLOCALDIR=~/local/dev/www/ # No trailing / please on this one belowREMOTEDIR=/var/www/vhosts/yourdomain.co.nz/httpdocs # Remote MySQL connection detailsREMOTE_SQL_USER=databaseusernameREMOTE_SQL_PASS=JGOIDBp4553ghREMOTE_SQL_DB=databasename # Local MySQL connection detailsLOCAL_SQL_USER=databaseusernameLOCAL_SQL_PASS=JGOIDBp4553ghLOCAL_SQL_DB=databasename # Remote host IPREMOTE_HOST=49.50.242.111REMOTE_USER=root ssh ${REMOTE_USER}@${REMOTE_HOST} "mysqldump -u${REMOTE_SQL_USER} -p${REMOTE_SQL_PASS} ${REMOTE_SQL_DB} >/tmp/${REMOTE_SQL_DB}.sql" rsync -avP ${REMOTE_USER}@${REMOTE_HOST}:$REMOTEDIR/* ${LOCALDIR} rsync -avP ${REMOTE_USER}@${REMOTE_HOST}:/tmp/${REMOTE_SQL_DB}.sql /tmp/mysql -u${LOCAL_SQL_USER} -p${LOCAL_SQL_PASS} ${LOCAL_SQL_DB} < /tmp/${REMOTE_SQL_DB}.sql |
Edit the script as needed to reflect the database/files/etc you want, then run ./sync.sh
To make this really seamless, use ssh keys to login. If you want to have this on a cron, make sure you put the full path to the rsync and mysql, or any other binaries used.
Copyright © 2019- gamedaodao.com 版权所有 湘ICP备2022005869号-6
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务