Upgrading to WordPress 2.7 Coltrane
| Posted by watashii | Filed under Unix, WordPress
I have just gone through the tedious task of upgrading my WP from 2.5 to 2.7. What i’m looking forward to this is the WP Upgrader feature which I can upgrade WP directly via the Admin panel. This means I don’t need to manually move files in/out of my linux web server in the future. Of course i have to manually put 2.7 in the first place to do that!
Upgrade document is available here, below are my steps.
1) Backup all my file contents on web server.
tar -cvf - $WEBHOME/blog_dir | gzip -9 $WEBHOME/backup_dir/my_blog.tar.gz
2) Backup the mysql database. I used WP-DBManager plugin to help me do this. A single click and that’s it!
3) Deactivated all the plugins via admin panel.
4) Delete wp-admin and wp-includes directories on web server.
rm -rf $WEBHOME/blog_dir/wp-admin $WEBHOME/blog_dir/wp-includes
5) Download the new WP and place/replace all the files on web server.
6) Login to the admin panel and accept the database upgrade changes.
7) Activate the required plugins. If using the WordPress.com Stats plugin, I had to ‘transfer’ my old site stats to a new site, even though its the same site.
Tags: backup, coltrane, WordPress
Unix Split, Join & Validate Files
| Posted by watashii | Filed under Programming, UnixProblem

I have a large file.
How can i split it into multiple parts, then join it back together later?
How do i make sure my files don’t corrupt?
I am using Unix.
$ ls -l *.pkg
-rw-rw-r-- 1 watashii watashii 648773362 Nov 28 18:01 largefile.pkg
Splitting the files
The following Unix command splits a large file into 50MB (52,428,800 bytes) pieces. The output is a list of files named xaa, xab etc
$ split -b 52428800 largefile.pkg
$ ls -l x*
-rw-rw-r-- 1 watashii watashii 52428800 Nov 28 18:01 xaa
-rw-rw-r-- 1 watashii watashii 52428800 Nov 28 18:01 xab
...
-rw-rw-r-- 1 watashii watashii 19627762 Nov 28 18:01 xam
Joining the files
To join the files together, we simply use the cat command over each file in ascending order:
$ cat x* > mergedlargefile.pkg
Validating the files
To validate the files, below are some suggestions. File compare it, diff it, run a checksum to compare it.
$ ls -l *.pkg
-rw-rw-r-- 1 watashii watashii 648773362 Nov 28 18:01 largefile.pkg
-rw-rw-r-- 1 watashii watashii 648773362 Nov 28 18:13 mergedlargefile.pkg
$ cmp largefile.pkg mergedlargefile.pkg
$ cksum largefile.pkg
3332922138 648773362 largefile.pkg
$ cksum mergedlargefile.pkg
3332922138 648773362 mergedlargefile.pkg
$ diff largefile.pkg mergedlargefile.pkg
Tags: join, merge, split, unix
SSH Passwordless Authentication
| Posted by watashii | Filed under Software, Unix
This post shows how to use PuTTY (Windows) to login to a remote server (UNIX) over SSH without password.
Tags: authentication, passwordless, putty, ssh, unix
How to Change Default Homepage in Tomcat
| Posted by watashii | Filed under Java, Software, Unix, WebWhen browsing to a Tomcat’s webserver, at the root URL over the default port 8080, it usually shows the default jsp homepage as pictured above.
http://localhost:8080
So how can I update / modify, or remove this page?
You might think changing the jsp page at [$CATALINA_HOME/webapps/ROOT/index.jsp] is all you need to do. This is where i found out its not the case! The page contents are compiled within the ROOT web application servlet. To make Tomcat reference the jsp page instead, we need to remove this servlet from being compiled.
Locate the ROOT web application’s config file at [$CATALINA_HOME/webapps/ROOT/WEB-INF/web.xml], and simply comment out the following code fragment:
<!-- Comment this section so I can change the default index.jsp homepage
<servlet>
<servlet-name>org.apache.jsp.index_jsp</servlet-name>
<servlet-class>org.apache.jsp.index_jsp</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>org.apache.jsp.index_jsp</servlet-name>
<url-pattern>/index.jsp</url-pattern>
</servlet-mapping>
-->
This will disable the index_jsp servlet. Now when you restart the Tomcat web application server, it should compile and load the default [$CATALINA_HOME/webapps/ROOT/index.jsp] page instead.
Unix ps command – Long Process Listing
| Posted by watashii | Filed under Programming, UnixWhen viewing full process listings with ps -ef command, sometimes the command name is too long and gets chopped off at the end of the screen. This command name has a limit of 80 characters.
netcool@sun61 [/opt/netcool] 688 % ps -ef|grep 6176 netcool 6176 1 0 Sep 12 ? 31:55 /opt/netcool/platform/solaris2/jre_1.5.0/bin/java -Xmx1024m -Xms256m -Djava.awt
So how can we show the entire command? The solution is to use the /usr/ucb/ps -auxxwww command:
netcool@sun61 [/opt/netcool] 689 % /usr/ucb/ps -auxxwww|grep -i 6176 netcool 6176 0.1 10.5610440428552 ? R Sep 12 31:55 /opt/netcool/platform/solaris2/jre_1.5.0/bin/java -Xmx1024m -Xms256m -Djava.awt.headless=true -Dnchome=/opt/netcool -Dngfhome=/opt/netcool/guifoundation -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -Dbase.directory=/opt/netcool -Dsm.props.directory=/opt/netcool/etc/sm -Djava.security.auth.login.config=/opt/netcool/guifoundation/conf/mach_jaas.config -Djava.endorsed.dirs=/opt/netcool/guifoundation/common/endorsed -classpath /opt/netcool/platform/solaris2/jre_1.5.0/lib/tools.jar:/opt/netcool/guifoundation/bin/bootstrap.jar -Dcatalina.base=/opt/netcool/guifoundation -Dcatalina.home=/opt/netcool/guifoundation -Djava.io.tmpdir=/opt/netcool/guifoundation/temp org.apache.catalina.startup.Bootstrap start
UNIX file size listing – du command
| Posted by watashii | Filed under Programming, UnixQuestion: How can I list the true file and directory sizes on UNIX?
boadmin@nshost1>$ ls -la
total 12130522
drwxr-xr-x 5 boadmin boadmin 512 Aug 4 14:30 .
drwxr-xr-x 31 boadmin boadmin 1024 Aug 1 22:00 ..
drwxr-xr-x 5 boadmin boadmin 512 May 7 05:48 DISK_1
drwxr-xr-x 3 boadmin boadmin 512 May 7 05:47 DISK_2
drwxr-xr-x 3 boadmin boadmin 512 May 31 14:02 sp3
-rw-r--r-- 1 boadmin boadmin 6207767040 Aug 4 14:33 sp3.tar
Tags: directory size, du, file size, size listing, unix
Unix – Creating Cron Jobs with Crontab
| Posted by watashii | Filed under Programming, UnixCron is a Unix (*nix) utility for scheduling tasks to run in the background. These are known as cron jobs. A crontab is basically a text file (cron table) containing a list of commands to be run, under the current logged-in user.
- Commands
crontab -e # Edit (or create) the crontab file
crontab -l # View the crontab file
crontab -r # Remove the crontab file - Restrictions
Crontab access is controlled with a cron.allow and a cron.deny file, listing the associated usernames. If cron.deny exists, and cron.allow is missing, all users can use crontab. If both missing then only root is allowed.
whereis cron - Crontab file syntax
The syntax contains 5 fields specifying the scheduling datetime values, and the last portion contains the Unix command to run.
# +---------------- minute (0 - 59)
# | +------------- hour (0 - 23)
# | | +---------- day of month (1 - 31)
# | | | +------- month (1 - 12)
# | | | | +---- day of week (0 - 7) (Sunday=0 or 7)
# | | | | |
* * * * * command to be executed
On each of the 5 fields, 3 operators can be used to specify the datetime selection.
# Comma (',') specifies a list of values, eg: "1,3,4,7"
# Dash ('-') specifies a range, eg: "1-3" or "1,2,3"
# Asterisk ('*') specifies all possible values for a field. - Crontab file example
The following job lists the tmp directory structure and appends the output to a log file every minute.
0-59 * * * * ls -la /tmp >> /tmp/log.txt

