Tuesday, November 23, 2010

Creating an ISO from a DVD MAC

From within Terminal (Applications->Utilities->Terminal)


You can determine the device that is you CD/DVD drive using the following command:

drutil status




Vendor   Product           Rev 
 MATSHITA DVD-R   UJ-875    DB09


           Type: DVD-R                Name: /dev/disk1
       Sessions: 1                  Tracks: 1 
   Overwritable:   00:00:00         blocks:        0 /   0.00MB /   0.00MiB
     Space Free:   00:00:00         blocks:        0 /   0.00MB /   0.00MiB
     Space Used:  425:20:48         blocks:  1914048 /   3.92GB /   3.65GiB
    Writability: 
      Book Type: DVD-R (v5)
       Media ID: SONY16D1
Now you will need to umount the disk with the following command:

diskutil unmountDisk disk1

Now you can write the ISO file with the dd utility:

dd if=/dev/disk1 of=dvd.iso

When finished you will want to remount the disk:

diskutil mountDisk disk1

Tuesday, November 16, 2010

Find WWN’s on RedHat /Cent OS

To find port and node WWN’s while the system is running:
  • 2.4.x Kernels
    > cat /proc/scsi/[hba_type]/(n)
    where hba_type is the driver (e.g. lpfc for Emulex) and (n) is the HBA number.
  • 2.6.x Kernels:
    > cat /sys/class/scsi_host/host(n)/[port_name|node_name]
    Hosts with multiple HBAs are enumerated via host(n) (e.g host0).
You can use lsmod to determine which driver is in use.

:)

Automated Bankup for Postgrsql

#! /bin/bash
# backup-postgresql.sh
# this script is public domain.  feel free to use or modify as you like.

DUMPALL=”/usr/bin/pg_dumpall”
PGDUMP=”/usr/bin/pg_dump”
PSQL=”/usr/bin/psql”

# directory to save backups in, must be rwx by postgres user
BASE_DIR=”/var/backups/postgres”
YMD=$(date “+%Y-%m-%d”)
DIR=”$BASE_DIR/$YMD”
mkdir -p $DIR
cd $DIR

# get list of databases in system , exclude the tempate dbs
DBS=$($PSQL -l -t | egrep -v ‘template[01]‘ | awk ‘{print $1}’)

# first dump entire postgres database, including pg_shadow etc.
$DUMPALL -D | gzip -9 > “$DIR/db.out.gz”

# next dump globals (roles and tablespaces) only
$DUMPALL -g | gzip -9 > “$DIR/globals.gz”

# now loop through each individual database and backup the schema and data separately
for database in $DBS; do
SCHEMA=$DIR/$database.schema.gz
DATA=$DIR/$database.data.gz

# export data from postgres databases to plain text
$PGDUMP -C -c -s $database | gzip -9 > $SCHEMA

# dump data
$PGDUMP -a $database | gzip -9 > $DATA
done

# delete backup files older than 30 days
OLD=$(find $BASE_DIR -type d -mtime +30)
if [ -n "$OLD" ] ; then
echo deleting old backup files: $OLD
echo $OLD | xargs rm -rfv
fi

Monday, November 15, 2010

"proc" File System RedHat /CentOS /Ubuntu

Inside the /proc directory, you’ll see two types of content — numbered directories, and system information files.

/proc is not a real file system, it is a virtual file system. For example, if you do ls -l /proc/stat, you’ll notice that it has a size of 0 bytes, but if you do “cat /proc/stat”, you’ll see some content inside the file.

Several Linux commands access the information from /proc, and displays in a certain format.
1. /proc Directories with names as numbers

Do a ls -l /proc, and you’ll see lot of directories with just numbers. These numbers represents the process ids, the files inside this numbered directory corresponds to the process with that particular PID.

Following are the important files located under each numbered directory (for each process):

    * cmdline – command line of the command.
    * environ – environment variables.
    * fd – Contains the file descriptors which is linked to the appropriate files.
    * limits – Contains the information about the specific limits to the process.
    * mounts – mount related information

Following are the important links under each numbered directory (for each process):

    * cwd – Link to current working directory of the process.
    * exe – Link to executable of the process.
    * root – Link to the root directory of the process.

2. /proc Files about the system information

Following are some files which are available under /proc, that contains system information such as cpuinfo, meminfo, loadavg.

    * /proc/cpuinfo – information about CPU,
    * /proc/meminfo – information about memory,
    * /proc/loadvg – load average,
    * /proc/partitions – partition related information,
    * /proc/version – linux version

Some Linux commands read the information from this /proc files and displays it. For example, free command, reads the memory information from /proc/meminfo file, formats it, and displays it.

To learn more about the individual /proc files, do “man 5 FILENAME”.

    * /proc/cmdline – Kernel command line
    * /proc/cpuinfo – Information about the processors.
    * /proc/devices – List of device drivers configured into the currently running kernel.
    * /proc/dma – Shows which DMA channels are being used at the moment.
    * /proc/fb – Frame Buffer devices.
    * /proc/filesystems – File systems supported by the kernel.
    * /proc/interrupts – Number of interrupts per IRQ on architecture.
    * /proc/iomem – This file shows the current map of the system’s memory for its various devices
    * /proc/ioports – provides a list of currently registered port regions used for input or output communication with a device
    * /proc/loadavg – Contains load average of the system
      The first three columns measure CPU utilization of the last 1, 5, and 10 minute periods.
      The fourth column shows the number of currently running processes and the total number of processes.
      The last column displays the last process ID used.
    * /proc/locks – Displays the files currently locked by the kernel
      Sample line:
      1: POSIX ADVISORY WRITE 14375 08:03:114727 0 EOF
    * /proc/meminfo – Current utilization of primary memory on the system
    * /proc/misc – This file lists miscellaneous drivers registered on the miscellaneous major device, which is number 10
    * /proc/modules – Displays a list of all modules that have been loaded by the system
    * /proc/mounts – This file provides a quick list of all mounts in use by the system
    * /proc/partitions – Very detailed information on the various partitions currently available to the system
    * /proc/pci – Full listing of every PCI device on your system
    * /proc/stat – Keeps track of a variety of different statistics about the system since it was last restarted
    * /proc/swap – Measures swap space and its utilization
    * /proc/uptime – Contains information about uptime of the system
    * /proc/version – Version of the Linux kernel, gcc, name of the Linux flavor installed.