This is a standard checklist which should be followed before you upgrade to any latest version of Magento.
1) Determine what you are dealing with:
Check Google, if something special is there in regards to upgrade to the latest version of Magento. If nothing else, it will be with all the questions, you must be prepared to solve.
2) Backup your files
Keep in mind whenever you make any major changes in your Magento Store, always keep the latest backup of you web files. If you want to do it via CLI, then you can do it like:
tar -cvvzf your_site_directory.tar.gz your_site_directory/ 2>error.log
3) Backup your database
Taking backup of web files is not sufficient. Your database is equally important. Always take the latest backup of your database. You can also backup your databse from CLI like this:
mysqldump -u THIS_IS_YOUR_USERNAME_FOR_DB -h localhost -pTHIS_IS_YOUR_USERNAME_FOR_DB my_database_name | gzip -9 > my_database_name.sql.gz
4) Upload backup files to new Location
After taking the backup of Files and database, next step is to upload the web files to new location.
5) Import Database to New Database:
Now import the database into the new one which you have created for upgrade. Follow these steps:
a) Extract my_database_name.sql.gz
b) mysql verbose user=THIS_IS_YOUR_USERNAME password=THIS_IS_YOUR_PASSWORD newly_created_db
6) Extract Backup Files:
After importing the database, extract backup files like this:
tar -xvvzf your_site_directory.tar.gz
This will extract all files to the current directory
7) Disable Cache
Once you have extracted backup files, edit db table core_config_data and set new secure/unsecure URLs of your site. After this, disable cache from admin.
8) Delete Magento cache and session directories:
rm /your_path_to/var/session -R
rm /your_path_to/var/cache -R
9) Execute clean bash script
After deleting cache and sessions, execute clean bash script which is located in /downloader/pearlib directory.
a) Run chmod +x clean to be able to execute this script
b) ./clean to execute script
10) Go to Magento Connect Manager
Once you have executed clean bash script, go to Magento connect manager from your Magento admin and paste this extension to upgrade Magento:
After that, you will be having updated version of Magento, but if there was a custom code, you should really know what’s going on with the code.
Usually, the installation ends with a few minor problems that must be processed manually, even in default installations if you have a very old version Magento to be updated.
Note: If anyone is about to upgrade to Magento 1.6, then I would suggest that do not upgrade to 1.6 unless you have enough technical knowledge. If you still want to upgrade to 1.6, then please hire magento experts for upgrading and that too after taking COMPLETE BACKUP.