Have history with timestamps
May not be enabled by default on a new server
-
~/.bash_profile:if [ -f ~/.bashrc ]; then . ~/.bashrc fi -
~/.bashrc:# Enable timestamp in history export HISTTIMEFORMAT="%F %T " # Make history append instead of overwrite shopt -s histappend # Increase history size export HISTSIZE=1000000 export HISTFILESIZE=2000000(optional) Automatically
cdto a specific folder on every SSH connectioncd ~/domains
Dump database into file on old server
Before copying over all of your files, you may want to dump the database so that it's copied over as well.
mysqldump -h database.example.com -P 33000 -u db_usr -p db_name > /var/www/dir/db_dump.sql
-h: if your database is on a remote server, provide hostname or IP address; else do not provide-hat all-P: if your server port is non-standard; else do not provide-Pat all-u: database user-p: prompt the password; if you want you can provide your password explicitly as-pMYPASSWORD, but that may compromise it
Copy folder from old server to new server
Copying files from old server? Might as well include database dump. See above.
Below copies dir from /var/www on old server to /var/www on new server.
-
SCP
scp -P 2222 -r -p username@oldserver:/var/www/dir /var/www-P: non-standard SSH port-r: recursive, i.e. everything inside given folder including subfolders-p: preserve original timestamps
-
Rsync
rsync -avh -e 'ssh -p 2222' username@oldserver:/var/www/dir /var/www-v: verbose, print information about progress of the transfer and files being copied-h: human-readable, used with -v, makes file sizes easier to read-a: archive, shorthand for the following:-r: recursive-l: copy symlinks as symlinks, do not dereference-p: preserve permissions (file permission bits)-t: preserve original timestamps.-g: preserve original group ownership-o: preserve original owner-D: preserve device files and special files:--devices– copy device files--specials– copy special files like named pipes and sockets
Restore database on new server
mysql -u db_usr -p db_name < /var/www/dir/db_dump.sql