Apache Mavern

The Apache website has an interesting build and project management tool/framework called ‘Mavern’ which is fast becoming popular for a number of Open Source projects.

OnJava.com have an introductory article about the framework on their site.

Mavern automates a lot of the project build tasks that are common to most large projects, including: code compilation, creating JavaDoc, running JUnit TestCases, performing code analysis and producing reports (code standard violations etc), and producing reports of version control repository activity and status.

Automating recurring tasks with Cron

Setup a crontab file which defines whe the task should run:

m h d M D /script

where:

m minute: 0-59
h hour: 0-23
d day of the month: 1-31
M month of the year: 1-12
D day of the week, Sunday-0, 0-6
/script the script to execute

Values that are not relevant can be replaced with a ‘*” character.

Examples:

Run scriptA at 1:00 am:


* 1 * * * /scriptA

Run scriptB at every 15 minutes past the hour:


15 * * * * /scriptB

Run scriptC on the hour and every 30 minutes past the hour:


0,30 * * * * /scriptC

Run scriptD at 10,11 and 12, every Monday:


* 10-12 * * 1 /scriptC

To install the crontab setings, run:


crontab filename

To list the current crontab settings:


crontab -l

Common Linux Commands

df shows free and used disk space
top shows memory usage – updates in real time
ps Process Status – lists running processes
ps -ef show system processes
find . -name FILENAME -print locate a file named FILENAME and show it’s location
grep -r “pattern” * search through all files and subdirectories from the current directory for the given pattern and print matches
uname -a displays the current kernel version
lsb_release -a displays Ubuntu installation version
fdisk -l lists partition info

Ubuntu/Debian Package Management

Install an app: sudo apt-get install name

Remove: sudo apt-get remove name (‘apt-get remove –purge name’ to remove all config files also)

List installed packages: sudo dpkg –list | more

RPM Commands (Red Hat/Fedora and derivatives)

rpm -ivh PACKAGE installs a new RPM
rpm -e PACKAGE uninstalls an RPM
rpm -qi PACKAGE Queries that a package is unstalled and displays information about it