Sponsored Content
Top Forums Shell Programming and Scripting Disk report generation problem Post 302581668 by kannan84 on Tuesday 13th of December 2011 08:37:18 PM
Old 12-13-2011
Disk report generation problem

Hello everyone,

I have a list of inputs as below. My logic is to get the particular powerdisk which matches for ASM disk which means take the major & minor number of each asm disk and matches with powerdisk info then get the particular powerdisk

HTML Code:
$ ls -l /dev/asm_* ---> ASM disk info
crw-r--r-- 1 oracle dba 34, 3 Jun 21 20:06 /dev/asm_disk1
crw-r--r-- 1 oracle dba 34, 4 Jun 21 20:06 /dev/asm_disk2
crw-r--r-- 1 oracle dba 34, 5 Jun 21 20:06 /dev/asm_disk3
crw-r--r-- 1 oracle dba 34, 11 Jun 21 20:05 /dev/asm_spfile
HTML Code:
$ ls -l /dev/hdiskpower* --> Powerdisk info
brw-rw---- 1 root system 34, 3 Apr 7 2011 /dev/hdiskpower3
brw-rw---- 1 root system 34, 4 Apr 7 2011 /dev/hdiskpower4
brw-rw---- 1 root system 34, 5 Apr 7 2011 /dev/hdiskpower5
brw-rw---- 1 root system 34, 6 May 16 2011 /dev/hdiskpower6
brw-rw---- 1 root system 34, 7 May 16 2011 /dev/hdiskpower7
brw-rw---- 1 root system 34, 8 May 16 2011 /dev/hdiskpower8
brw-rw---- 1 root system 34, 9 May 16 2011 /dev/hdiskpower9
Below is the code i am using

Code:
============

HTML Code:
ls -l /dev/asm_* > /tmp/input$$
cat /tmp/input$$ | while read line
do
mj=`echo $line | awk '{print $5}'`
mi=`echo $line | awk '{print $6}'`
asm_disk=`echo $line | awk '{print $10}'`
ls -l /dev/hdiskpower* | grep '"'$mj $mi'"' | awk '{print $10}' > /tmp/powerdiskinfo.rpt
done
=============
above code is not working while matching with major and minor number with the hdiskpower disks. Please advice how i can achive it . I need the output as below

HTML Code:
ex:
==
asm_disk1     hdiskpower1
asm_disk2     hdiskpower3
asm_disk3     hdiskpower5
Kindly provide your suggetions and ideas. Thanks !

Regards
Kannan
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Oracle Report generation

Hi, I am beginner in shell programming.In a shell script i found a call to a script 'runrep25m',which i think is to generate oracle reports?Could anyone help me by providing some details about its usage With Thanks & Regards Dileep (7 Replies)
Discussion started by: DILEEP410
7 Replies

2. Shell Programming and Scripting

awk- report generation from input file

I have input file with below content: Person: Name: Firstname1 lastname1 Address: 111, Straat City : Hilversum Person: Name : Fistname2 lastname2 Address: 222, street Cit: Bussum Person: Name : Firstname2 lastname3 Address: 333, station straat City: Amsterdam I need... (6 Replies)
Discussion started by: McLan
6 Replies

3. UNIX for Dummies Questions & Answers

report generation

Hello, I got a requirement in writing a sheel script in unix, please help me out the requirement is there are two folders Folder1 and Folder2 and there are same files in the different folders. like file1,file2 in folder1 and file1 and file2 in folder2. I would like to compare all the... (2 Replies)
Discussion started by: gmahesh2k
2 Replies

4. Shell Programming and Scripting

Report generation

Hello, I got a requirement in writing a KSH script in unix, please help me out the requirement is there are two folders Folder1 and Folder2 and there are same files in the different folders. like file1,file2 in folder1 and file1 and file2 in folder2. I would like to compare all the similar... (3 Replies)
Discussion started by: gmahesh2k
3 Replies

5. Shell Programming and Scripting

Report Generation with Grep

All, I am pretty new to Unix Environment. I am not sure if my requirement can be accomplished in Unix. I did try searching this forum and others but could not get an answer. Requirement is explained below: I have a set of files in a folder. file1_unload file2_unload file3_unload... (7 Replies)
Discussion started by: bharath.gct
7 Replies

6. Shell Programming and Scripting

File Report Generation

hi all i need to generate a report file that contains the following details of files present in a directory. 1. File name 2.Complete path for each files and directory 3.File size 4.Days older example i have a directory testing that contains sub-directories and some files. i need to make a... (5 Replies)
Discussion started by: yashwantkumar
5 Replies

7. Shell Programming and Scripting

Report generation based on certain conditions

Hi I recently joined a project where I have been asked to generate a report using shell script accessing UNIX box. I have no idea on how to do it as I am a beginner and learning shell scripts. Suppose I have a XML: Code: ... (3 Replies)
Discussion started by: vat1kor
3 Replies

8. Shell Programming and Scripting

Report generation using perl script

Hi, I have a perl script to read the log file and create a report from it. I have the script file and log file in a different directories. Now i have pipe the log file data to the perl script to create the report (HMTL file). I am using the below command this isn't working tail -f... (4 Replies)
Discussion started by: vel4ever
4 Replies

9. UNIX for Beginners Questions & Answers

UNIX cluster disk usage report generation for yesterday & today and email

HI Team, I am trying to create a shell script to generate a yesterday and today report to compare and email in daily basis. can you please help me on the same. #!/bin/bash #Author: ******************* #Description: This script will return the following set of system information: ... (2 Replies)
Discussion started by: Mi4304
2 Replies

10. UNIX for Beginners Questions & Answers

Report generation using script

Hi all I have a unix script that generates a report with the following information: uptime, mounted file systems, disk usage (> 90% --> critical, <75%-90%> --> warning, < 75% healthy), Mem usage, CPU usage and load average. But I would like to create one single report containing all this... (5 Replies)
Discussion started by: fretagi
5 Replies
disks(1M)						  System Administration Commands						 disks(1M)

NAME
disks - creates /dev entries for hard disks attached to the system SYNOPSIS
/usr/sbin/disks [-C] [-r rootdir] DESCRIPTION
devfsadm(1M) is now the preferred command for /dev and should be used instead of disks. disks creates symbolic links in the /dev/dsk and /dev/rdsk directories pointing to the actual disk device special files under the /devices directory tree. It performs the following steps: 1. disks searches the kernel device tree to see what hard disks are attached to the system. It notes the /devices pathnames for the slices on the drive and determines the physical component of the corresponding /dev/dsk or /dev/rdsk name. 2. The /dev/dsk and /dev/rdsk directories are checked for disk entries - that is, symbolic links with names of the form cN[tN]dNsN, or cN[tN]dNpN, where N represents a decimal number. cN is the logical controller number, an arbitrary number assigned by this program to designate a particular disk controller. The first controller found on the first occasion this program is run on a system, is assigned number 0. tN is the bus-address number of a subsidiary controller attached to a peripheral bus such as SCSI or IPI (the target number for SCSI, and the facility number for IPI controllers). dN is the number of the disk attached to the controller. sN is the slice number on the disk. pN is the FDISK partition number used by fdisk(1M). (x86 Only) 3. If only some of the disk entries are found in /dev/dsk for a disk that has been found under the /devices directory tree, disks creates the missing symbolic links. If none of the entries for a particular disk are found in /dev/dsk, disks checks to see if any entries exist for other disks attached to the same controller, and if so, creates new entries using the same controller number as used for other disks on the same controller. If no other /dev/dsk entries are found for slices of disks belonging to the same physical con- troller as the current disk, disks assigns the lowest-unused controller number and creates entries for the disk slices using this newly-assigned controller number. disks is run automatically each time a reconfiguration-boot is performed or when add_drv(1M) is executed. When invoking disks(1M) manually, first run drvconfig(1M) to ensure /devices is consistent with the current device configuration. Notice to Driver Writers disks considers all devices with a node type of DDI_NT_BLOCK, DDI_NT_BLOCK_CHAN, DDI_NT_CD, DDI_NT_BLOCK_WWN or DDI_NT_CD_CHAN to be disk devices. disks(1M) requires the minor name of disk devices obey the following format conventions. The minor name for block interfaces consists of a single lowercase ASCII character, a through u. The minor name for character (raw) inter- faces consists of a single lowercase ASCII character, a through u, followed by ,raw. disks translates a through p to s0 through s15, while it translates q through u to p0 through p4. SPARC drivers should only use the first 8 slices: a through h, while x86 drivers can use a through u, with q through u corresponding to fdisk(1M) partitions. q represents the entire disk, while r, s, t, and u represent up to 4 additional partitions. To prevent disks from attempting to automatically generate links for a device, drivers must specify a private node type and refrain from using a node type: DDI_NT_BLOCK, DDI_NT_BLOCK_CHAN, DDI_NT_CD, or DDI_NT_CD_CHAN when calling ddi_create_minor_node(9F). OPTIONS
The following options are supported: -C Causes disks to remove any invalid links after adding any new entries to /dev/dsk and /dev/rdsk. Invalid links are links which refer to non-existent disk nodes that have been removed, powered off, or are otherwise inaccessible. -r rootdir Causes disks to presume that the /dev/dsk, /dev/rdsk and /devices directory trees are found under rootdir, not directly under /. ERRORS
If disks finds entries of a particular logical controller linked to different physical controllers, it prints an error message and exits without making any changes to the /dev directory, since it cannot determine which of the two alternative logical-to-physical mappings is correct. The links should be manually corrected or removed before another reconfiguration-boot is performed. EXAMPLES
Example 1: Creating Block and Character Minor Devices The following example demonstrates creating the block and character minor devices from within the xkdisk driver's attach(9E) function. #include <sys/dkio.h> /* * Create the minor number by combining the instance number * with the slice number. */ #define MINOR_NUM(i, s) ((i) << 4 | (s)) int xkdiskattach(dev_info_t *dip, ddi_attach_cmd_t cmd) { int instance, slice; char name[8]; /* other stuff in attach... */ instance = ddi_get_instance(dip); for (slice = 0; slice < V_NUMPAR; slice++) { /* * create block device interface */ sprintf(name, "%c", slice + 'a'); ddi_create_minor_node(dip, name, S_IFBLK, MINOR_NUM(instance, slice), DDI_NT_BLOCK_CHAN, 0); /* * create the raw (character) device interface */ sprintf(name,"%c,raw", slice + 'a'); ddi_create_minor_node(dip, name, S_IFCHR, MINOR_NUM(instance, slice), DDI_NT_BLOCK_CHAN, 0); } } Installing the xkdisk disk driver on a Sun Fire 4800, with the driver controlling a SCSI disk (target 3 attached to an isp(7D) SCSI HBA) and performing a reconfiguration-boot (causing disks to be run) creates the following special files in /devices. # ls -l /devices/ssm@0,0/pci@18,700000/pci@1/SUNW,isptwo@4/ brw-r----- 1 root sys 32, 16 Aug 29 00:02 xkdisk@3,0:a crw-r----- 1 root sys 32, 16 Aug 29 00:02 xkdisk@3,0:a,raw brw-r----- 1 root sys 32, 17 Aug 29 00:02 xkdisk@3,0:b crw-r----- 1 root sys 32, 17 Aug 29 00:02 xkdisk@3,0:b,raw brw-r----- 1 root sys 32, 18 Aug 29 00:02 xkdisk@3,0:c crw-r----- 1 root sys 32, 18 Aug 29 00:02 xkdisk@3,0:c,raw brw-r----- 1 root sys 32, 19 Aug 29 00:02 xkdisk@3,0:d crw-r----- 1 root sys 32, 19 Aug 29 00:02 xkdisk@3,0:d,raw brw-r----- 1 root sys 32, 20 Aug 29 00:02 xkdisk@3,0:e crw-r----- 1 root sys 32, 20 Aug 29 00:02 xkdisk@3,0:e,raw brw-r----- 1 root sys 32, 21 Aug 29 00:02 xkdisk@3,0:f crw-r----- 1 root sys 32, 21 Aug 29 00:02 xkdisk@3,0:f,raw brw-r----- 1 root sys 32, 22 Aug 29 00:02 xkdisk@3,0:g crw-r----- 1 root sys 32, 22 Aug 29 00:02 xkdisk@3,0:g,raw brw-r----- 1 root sys 32, 23 Aug 29 00:02 xkdisk@3,0:h crw-r----- 1 root sys 32, 23 Aug 29 00:02 xkdisk@3,0:h,raw /dev/dsk will contain the disk entries to the block device nodes in /devices # ls -l /dev/dsk /dev/dsk/c0t3d0s0 -> ../../devices/[...]/xkdisk@3,0:a /dev/dsk/c0t3d0s1 -> ../../devices/[...]/xkdisk@3,0:b /dev/dsk/c0t3d0s2 -> ../../devices/[...]/xkdisk@3,0:c /dev/dsk/c0t3d0s3 -> ../../devices/[...]/xkdisk@3,0:d /dev/dsk/c0t3d0s4 -> ../../devices/[...]/xkdisk@3,0:e /dev/dsk/c0t3d0s5 -> ../../devices/[...]/xkdisk@3,0:f /dev/dsk/c0t3d0s6 -> ../../devices/[...]/xkdisk@3,0:g /dev/dsk/c0t3d0s7 -> ../../devices/[...]/xkdisk@3,0:h and /dev/rdsk will contain the disk entries for the character device nodes in /devices # ls -l /dev/rdsk /dev/rdsk/c0t3d0s0 -> ../../devices/[...]/xkdisk@3,0:a,raw /dev/rdsk/c0t3d0s1 -> ../../devices/[...]/xkdisk@3,0:b,raw /dev/rdsk/c0t3d0s2 -> ../../devices/[...]/xkdisk@3,0:c,raw /dev/rdsk/c0t3d0s3 -> ../../devices/[...]/xkdisk@3,0:d,raw /dev/rdsk/c0t3d0s4 -> ../../devices/[...]/xkdisk@3,0:e,raw /dev/rdsk/c0t3d0s5 -> ../../devices/[...]/xkdisk@3,0:f,raw /dev/rdsk/c0t3d0s6 -> ../../devices/[...]/xkdisk@3,0:g,raw /dev/rdsk/c0t3d0s7 -> ../../devices/[...]/xkdisk@3,0:h,raw FILES
/dev/dsk/* Disk entries (block device interface) /dev/rdsk/* Disk entries (character device interface) /devices/* Device special files (minor device nodes) ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsu | +-----------------------------+-----------------------------+ SEE ALSO
add_drv(1M), devfsadm(1M), fdisk(1M), attributes(5), isp(7D), devfs(7FS), dkio(7I), attach(9E), ddi_create_minor_node(9F) Writing Device Drivers BUGS
disks silently ignores malformed minor device names. SunOS 5.10 7 Nov 2002 disks(1M)
All times are GMT -4. The time now is 02:05 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy