WordPress migration with FTP

Scenario:
Old Site: www.domain.com/blog
Path: /home/domain/public_html/blog
New Site: www.domain.com (Assume the site is empty)
Path: /home/domain/public_html

In order to move the WordPress account manually without any plugin, you may choose to use FTP to perform download and upload.

Folder/File:
1.  Download your web file/folder from /home/domain/public_html/blog to your PC.
2. Reupload those file/folder back to the /home/domain/public_html.
3. If you using Permalink and having mod_rewrite rule, you may edit your .htaccess file from your local PC from,

RewriteEngine On
RewriteBase /blog/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]

To,

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

4. Upload the .htaccess file to /home/domain/public_html.

Database:
1.  You may backup through SSH, PHPMyAdmin or any other method.
2. Download the backup file through FTP.
3. Open Notepad, find and replace from www.domain.com/blog to www.domain.com.
4. Upload the database back to the server.

Ways to free up cPanel server space

Most of the time, we are advise to keep our server disk space clean. To ensure it is clean, you may follow the following step,

1) Clean yum cache file

yum clean all

2) Delete fantastico backup file

rm -rfv /home/*/fantastico_backups

3) Delete cPanel backup file

rm -rfv /home/*/backup*.tar.gz

4) Delete cPanel file manager temp file

rm -fv /home/*/tmp/Cpanel_*

5) Terminate unwanted account

To show which account is suspended:

ls /var/cpanel/suspended

Terminate them (y/n is depend on if you wish to remain the DNS or not)

/scripts/killacct user y/n

Linux Shell Script to backup MySQL database to remote server

Database is the most important file other than web file, hence the backup is very important for the web developer and web owner.

By referring to the current post, you may backup your database automatically from your Linux box.

###START###

#!/bin/bash

# Specify the temporary backup directory
BKUPDIR=”/home/mickgenie/tmp”

# Database Name
dbname=”dbname_here”
dbuser=”user_here”
dbpasswd=”password_here”

# store the current date
date=`date ‘+%Y-%m-%d’`

# Specify Ftp details
ftpserver=”FtpServerIP”
ftpuser=”username”
ftppass=”password”

# Dump the mysql database with the current date and compress it.
/usr/bin/mysqldump -u$dbuser -p$dbpasswd $dbname | gzip > $BKUPDIR/$date.$dbname.sql.gz

# Change directory to the backup directory
cd $BKUPDIR

# Upload the backup
ftp -n $ftpserver <<!EOF!
user $ftpuser $ftppass
binary
prompt
mput *.sql.gz
quit
!EOF!

# Remove the local backup file
/bin/rm -f /$BKUPDIR/$date.$dbname.sql.gz

###END###

With the above script, you may save it as file.sh and just schedule a cronjob to run it as your needed time.