Sponsored Content
Top Forums UNIX for Advanced & Expert Users Failing to write retrieve script for tape to disk conversion Post 302336039 by hrsaurav on Tuesday 21st of July 2009 05:05:26 AM
Old 07-21-2009
Failing to write retrieve script for tape to disk conversion

I have the below script which has been written to retrieve files from tape drive i.e. TSM server. Now i have to write the script using UNIX commands for retrieve operation but I am not able to proceed. The script is:
Code:
#!/usr/local/bin/expect -f
set timeout 1800
set file [lindex $argv 0]
spawn $env(SHELL)
match_max 100000
log_file /home/series/apple/retrieve.log
send_log "\n\n===========================================================================\n\n"
expect -exact "\$ "
send -- "/usr/bin/dsmc rest -replace=N -optfile=/usr/lpp/adsm/bin/dsm_gold.opt $file\r"
expect {
timeout {send_log "\ntimed out waiting for TSM file restore";exit 99}
"Select an appropriate action" {send -- "A\r"}
"Restore processing finished." {send -- "\rexit\r";exit 0}
"exists, skipping" {send -- "\rexit\r";exit 0}
"No file specification entered" {send_log "\nNo file specification passed to script\n";exit 99}
"No objects on server match query" {send_log "\nNo file matches found on TSM\n";expect -exact "\$";send -- "echo \"Failed to restore $file since it was not found on the media\" | mail -s \"Apple-Testing Restore Alert-Not Found\" hrsaurav@gmail.com\r";expect -exact "\$"; exit 99}
}
expect {
timeout { send_log "\ntimed out waiting for TSM response";exit 99}
"ANS1074W" {expect -exact "\$";send -- "echo \"Failed to restore $file due to permissions \" | mail -s \"Apple-Testing Restore Alert-Permissions\" hrsaurav@gmail.com\r" ;exit 99}
}
expect -exact "\$ "
send -- "exit\r"
expect eof

Please advise and let me know in case you need any information.

Last edited by Yogesh Sawant; 07-21-2009 at 07:31 AM.. Reason: added code tags
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Retrieve Oracle export to tape

Hi! We have an Oracle db export that was compressed and written to DLT tape directly!- This is from box1 The next step is to restore the contents of the tape into the database on box2. The problem is that there is no DLT tape drive attached to box2. There is a box3 that has the tape drive... (1 Reply)
Discussion started by: sdharmap
1 Replies

2. UNIX for Dummies Questions & Answers

Write in a tape

Hi all, I need to write on a tape drive with AIX5.3. How to know the name of this tape and what is the procedure to write on this tape? Regards, Tovo (1 Reply)
Discussion started by: tovohery
1 Replies

3. Shell Programming and Scripting

Script that can Copy a Range of files from Tape to Hard disk

Hi: I am a trying to write a script using a loop i guess. What I need to do is write a script that can allow my users to load a tape and copy a range of files from a tape to the hard disk. By range I mean, I would like the users to pick a range of numbers like files 3 - 8 and the script will... (0 Replies)
Discussion started by: msjazzie
0 Replies

4. AIX

how to use tar to retrieve all tape content

Hi, I use tar to backup the following programs: tar -cvf /dev/rmt0.1 u04/devdb/log/arch tar -cvf /dev/rmt0.1 u01/app/oracle/product/10.2.0.2/dbs tar -cvf /dev/rmt0 u01/app/oracle/product/10.2.0.2/network/admin when I want to retrieve the tape content list with: tar -tvf /dev/rmt0 it... (1 Reply)
Discussion started by: victorcheung
1 Replies

5. UNIX for Dummies Questions & Answers

backup disk to disk to tape question

Hi all I had started to learn how to backup disk to disk to tape method Firstly I had backup to my NAS tar czvf /MyNetworkStorge/backup.tar /home Secondly I using dd command to copy the tar to tape dd if=/MyNetworkStorge/backup.tar of=/dev/tape0 But the tape drive always hang.... (5 Replies)
Discussion started by: lijiajin
5 Replies

6. UNIX for Dummies Questions & Answers

Help!! Failing HP-UX 11 system disk

Firstly, system setup - HP900 K460, 3 internal hard drives that make up the system volume group(vg00) no software mirroring HP-ux version 11.00 2 Nike 20 raid arrays attached, fully populated with 40 4gb hot swap drives(All used in production environment) I have 3 disks that make up my... (0 Replies)
Discussion started by: rees_a
0 Replies

7. UNIX for Dummies Questions & Answers

copy failing disk to Spare

Hi Guys, I have a failing 4gb (c0t5d0) drive that contains lvol4 -8 on hp-ux. It's not the boot disk but is part of VG00 volume group. Within that group, I have a disk (c0t4d0) of the same size that has 1 lvol on it for swap(4gb) I also have a seperate 1.5 gb swap volume on another physical disk... (1 Reply)
Discussion started by: rees_a
1 Replies

8. UNIX for Dummies Questions & Answers

unzip failing with write error

All, I am trying to unzip a file, when i doing i am seeing the below error. I have more than enough memory space in the directory where i am unziping. Can you please help me to find out the issue I dont know why i am getting disk full error. I have more space in /pa01 directory ... (2 Replies)
Discussion started by: arunkumar_mca
2 Replies

9. HP-UX

DLT 7000 tape drive failing with "write error on a record in the index"

HP rp5450 (L2000) running HP-UX 11.11B Using DLT 7000 and DLT 4000 tape drives for nightly full backups Backup jobs created by SAM DLT 7000 cron entry is as follows: 00 2 * * 1-6 /usr/sam/lbin/br_backup DLT FULL Y /dev/rmt/0m /var/sam/graphLCAa17036 root Y 1 N > /var/sam/SAM_br_msgs 2>&1... (1 Reply)
Discussion started by: dreh99
1 Replies

10. AIX

Failing to add new NetApp disk AIX 7.1 - but no error

Hello, AIX 7.1 - several NetApp disks already running. Trying to install a new one. Storage folks provision it. I run cfgmgr - nothing. no new disks show up in "lsdev", "sanlun lun show" shows no new device. No errors, just nothing. Storage guys disconnect it and attaches to another aix server -... (5 Replies)
Discussion started by: sid
5 Replies
RUNSCRIPT(1)						      General Commands Manual						      RUNSCRIPT(1)

NAME
runscript - script interpreter for minicom SYNOPSIS
runscript scriptname [logfile [homedir]] DESCRIPTION
runscript is a simple script interpreter that can be called from within the minicom communications program to automate tasks like logging in to a Unix system or your favorite BBS. INVOCATION
The program expects a script name and optionally a filename and the user's home directory as arguments, and it expects that it's input and output are connected to the "remote end", the system you are connecting to. All messages from runscript meant for the local screen are directed to the stderr output. All this is automatically taken care of if you run it from minicom. The logfile and home directory parame- ters are only used to tell the log command the name of the logfile and where to write it. If the homedir is omitted, runscript uses the directory found in the $HOME environment variable. If also the logfile name is omitted, the log commands are ignored. KEYWORDS
Runscript recognizes the following commands: expect send goto gosub return ! exit print set inc dec if timeout verbose sleep break call log OVERVIEW OF KEYWORDS
send <string> <string> is sent to the modem. It is followed by a ' '. <string> can be: - regular text, e.g. 'send hello' - text enclosed in quotes, e.g. 'send "hello world"' Within <string> the following sequences are recognized: - newline - carriage return a - bell  - backspace c - don't send the default ' '. f - formfeed ^ - the ^ character o - send character o (o is an octal number) Control characters can be used in the string with the ^ prefix (^A to ^Z, ^[, ^ ^], ^^ and ^_). If you need to send the ^ character, you must prefix it with the escape character. Also $(environment_variable) can be used, for example $(TERM). Minicom passes three special environment variables: $(LOGIN), which is the username, $(PASS), which is the password, as defined in the proper entry of the dialing directory, and $(TERMLIN) which is the number of actual terminal lines on your screen (that is, the statusline excluded). print <string> Prints <string> to the local screen. Default followed by ' '. See the description of 'send' above. label: Declares a label (with the name 'label') to use with goto or gosub. goto <label> Jump to another place in the program. gosub <label> Jumps to another place in the program. When the statement 'return' is encountered, control returns to the statement after the gosub. Gosub's can be nested. return Return from a gosub. ! <command> Runs a shell for you in which 'command' is executed. On return, the variable '$?' is set to the exit status of this command, so you can subsequently test it using 'if'. exit [value] Exit from "runscript" with an optional exit status. (default 1) set <variable> <value> Sets the value of <variable> (which is a single letter a-z) to the value <value>. If <variable> does not exist, it will be created. <value> can be a integer value or another variable. inc <variable> Increments the value of <variable> by one. dec <variable> Decrements the value of <variable> by one. if <value> <operator> <value> <statement> Conditional execution of <statement>. <operator> can be <, >, != or =. Eg, 'if a > 3 goto exitlabel'. timeout <value> Sets the global timeout. By default, 'runscript' will exit after 120 seconds. This can be changed with this command. Warning: this command acts differently within an 'expect' statement, but more about that later. verbose <on|off> By default, this is 'on'. That means that anything that is being read from the modem by 'runscript', gets echoed to the screen. This is so that you can see what 'runscript' is doing. sleep <value> Suspend execution for <value> seconds. expect expect { pattern [statement] pattern [statement] [timeout <value> [statement] ] .... } The most important command of all. Expect keeps reading from the input until it reads a pattern that matches one of the specified ones. If expect encounters an optional statement after that pattern, it will execute it. Otherwise the default is to just break out of the expect. 'pattern' is a string, just as in 'send' (see above). Normally, expect will timeout in 60 seconds and just exit, but this can be changed with the timeout command. break Break out of an 'expect' statement. This is normally only useful as argument to 'timeout' within an expect, because the default action of timeout is to exit immediately. call <scriptname> Transfers control to another scriptfile. When that scriptfile finishes without errors, the original script will continue. log <text> Write text to the logfile. NOTES
If you want to make your script to exit minicom (for example when you use minicom to dial up your ISP, and then start a PPP or SLIP session from a script), try the command "! killall -9 minicom" as the last script command. The -9 option should prevent minicom from hanging up the line and resetting the modem before exiting. Well, I don't think this is enough information to make you an experienced 'programmer' in 'runscript', but together with the examples it shouldn't be too hard to write some useful script files. Things will be easier if you have experience with BASIC. The minicom source code comes together with two example scripts, scriptdemo and unixlogin. Especially the last one is a good base to build on for your own scripts. SEE ALSO
minicom(1) BUGS
Runscript should be built in to minicom. AUTHOR
Miquel van Smoorenburg, <miquels@drinkel.ow.org> Jukka Lahtinen, <walker@netsonic.fi> User's Manual $Date: 2007-10-07 18:13:51 $ RUNSCRIPT(1)
All times are GMT -4. The time now is 12:23 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy