fhg
Volume 8, Number 16 -- April 23, 2008

A Recycle Bin for the IFS (Sort Of)

Published: April 23, 2008

Hey, Ted:

We inadvertently deleted an IFS file that was created today and therefore was not on the previous night's backup. What I wouldn't give for an IFS recycle bin! We can recreate the file, but I wonder, short of backing everything up every minute, if there is anything that I could have done to prepare for such a situation?

-Chris


My sympathy, Chris. I hate it when that happens. As you point out, the IFS has no recycle bin, but there is a way you can delete a file from a directory without deleting it from disk. I'll show you the technique and you can decide if and how you will implement it. This technique doesn't work in all file systems, but it will work in the root system, which I use a lot, and it should work in the QOpenSys system, which I never use.

In certain file systems, a file's real name is not the name it is given when it is created. The real name is a system-assigned name, called an inode. The human-assigned name is implemented as a link, stored in a directory, to the inode. This means that a file may have more than one human-assigned name. These names are called hard links. These links do not have to be in the same directory, but they do have to be in the same file system.

Let's say you have a directory whose files you would like to protect from accidental deletion. Before some rogue person or process gets access to the directory, run a Qshell command like the following:

for File in *
  do ln "$File" "/Recycled/$(date +%Y-%m-%d-%H.%M.%S)-$File"
done

The effect of this bit of Qshell script is that every file in the directory now has two hard links--one in the current directory and one in a directory called Recycled, which you previously created in the root file system.

The hard link in Recycled has a slightly different name. I used command substitution, which begins with a dollar sign and open parenthesis and ends with a close parenthesis, to include the output of the date utility.

"/Recycled/$(date +%Y-%m-%d-%H.%M.%S)-$File"

The result is that the current date and time become prepended to each file name in the Recycled directory. Therefore, file mydata.dat in the current directory has a name like 2008-03-08-13.40.44-mydata.dat in the Recycled directory. It is important to understand that there is only one file, not two.

If you delete file mydata.dat, you will no longer see mydata.dat listed in the current directory. You will be able to create a brand new mydata.dat if you like. The first mydata.dat still exists in /Recycled under the name 2008-03-08-13.40.44-mydata.dat.

You have two ways to create hard links. You can use CL's Add Link (ADDLNK) command, like this:

ADDLNK OBJ('/mydir/mydata.dat') 
   NEWLNK('/Recycle/2008-03-01-14.21.22-mydata.dat')
   LNKTYPE(*HARD)

Or you can use Qshell's ln utility, as in the script fragment I gave above.

ln "$File" "/Recycled/$(date +%Y-%m-%d-%H.%M.%S)-$File"

BTW, prepend is not an "official" English word, but I like it. It's not in my dictionary, but maybe someday it will be.

--Ted


RELATED STORY

It's Hard to Find Hard Links



                     Post this story to del.icio.us
               Post this story to Digg
    Post this story to Slashdot


Sponsored By
WORKSRIGHT SOFTWARE

Do you need area code information?
Do you need ZIP Code information?
Do you need ZIP+4 information?
Do you need city name information?
Do you need county information?
Do you need a nearest dealer locator system?

We can HELP! We have affordable AS/400 software and data to do all of the above. Whether you need a simple city name retrieval system or a sophisticated CASS postal coding system, we have it for you!

The ZIP/CITY system is based on 5-digit ZIP Codes. You can retrieve city names, state names, county names, area codes, time zones, latitude, longitude, and more just by knowing the ZIP Code. We supply information on all the latest area code changes. A nearest dealer locator function is also included. ZIP/CITY includes software, data, monthly updates, and unlimited support. The cost is $495 per year.

PER/ZIP4 is a sophisticated CASS certified postal coding system for assigning ZIP Codes, ZIP+4, carrier route, and delivery point codes. PER/ZIP4 also provides county names and FIPS codes. PER/ZIP4 can be used interactively, in batch, and with callable programs. PER/ZIP4 includes software, data, monthly updates, and unlimited support. The cost is $3,900 for the first year, and $1,950 for renewal.

Just call us and we'll arrange for 30 days FREE use of either
ZIP/CITY or PER/ZIP4.

WorksRight Software, Inc.
Phone: 601-856-8337
Fax: 601-856-9432
E-mail: software@worksright.com
Web site: www.worksright.com


Senior Technical Editor: Ted Holt
Technical Editor: Joe Hertvik
Contributing Technical Editors: Edwin Earley, Brian Kelly, Michael Sansoterra
Publisher and Advertising Director: Jenny Thomas
Advertising Sales Representative: Kim Reed
Contact the Editors: To contact anyone on the IT Jungle Team
Go to our contacts page and send us a message.

Sponsored Links

COMMON:  Join us at the annual 2009 conference, April 26 - April 30, in Reno, Nevada
LANSA:  It's Time for 4 days of education at the LANSA User Conference, May 4 – 7, in Orlando
Camp Help/Systems:  Explore operations automation and BI, June 17 - 20, 2008, Minneapolis, MN


 

IT Jungle Store Top Book Picks

Easy Steps to Internet Programming for AS/400, iSeries, and System i: List Price, $49.95
Getting Started with PHP for i5/OS: List Price, $59.95
The System i RPG & RPG IV Tutorial and Lab Exercises: List Price, $59.95
The System i Pocket RPG & RPG IV Guide: List Price, $69.95
The iSeries Pocket Database Guide: List Price, $59.00
The iSeries Pocket Developers' Guide: List Price, $59.00
The iSeries Pocket SQL Guide: List Price, $59.00
The iSeries Pocket Query Guide: List Price, $49.00
The iSeries Pocket WebFacing Primer: List Price, $39.00
Migrating to WebSphere Express for iSeries: List Price, $49.00
iSeries Express Web Implementer's Guide: List Price, $59.00
Getting Started with WebSphere Development Studio for iSeries: List Price, $79.95
Getting Started With WebSphere Development Studio Client for iSeries: List Price, $89.00
Getting Started with WebSphere Express for iSeries: List Price, $49.00
WebFacing Application Design and Development Guide: List Price, $55.00
Can the AS/400 Survive IBM?: List Price, $49.00
The All-Everything Machine: List Price, $29.95
Chip Wars: List Price, $29.95


 
The Four Hundred
IBM Expands VIP to All Systems for Precision Sales

Power Systems Adds New Choices for IBM's Academic Initiative

IBM's Q1 Driven by Mainframes, Unix, Services, and the Weak Dollar

The X Factor: Everybody Wants Citrix Systems?

HP Goes Visual with Application Modernization Tools

The Linux Beacon
Canonical Launches Ubuntu 8.04 with Long Term Support

Novell Puts Out JEOS Beta, Starts Appliance Effort

Server Makers Start Shipping Barcelona Boxes

The X Factor: Everybody Wants Citrix Systems?

IBM's Q1 Driven by Mainframes, Unix, Services, and the Weak Dollar

Four Hundred Stuff
Industrial Strength Software Debuts DB2/400 Optimization Tools

Turning a System i into a Time Machine: Nippon Express and CCSS Show How It's Done

inFORM Helps Save the Earth with Updates to i-Based Document Management

United Computer Group Sailing Smooth Through Rough Water

Enterprise Features Gain Focus as MySQL 5.1 Nears Release

Big Iron
IBM's Q1 Driven by Mainframes, Unix, Services, and the Weak Dollar

Top Mainframe Stories From Around the Web

Chats, Webinars, Seminars, Shows, and Other Happenings

System i PTF Guide
April 19, 2008: Volume 10, Number 16

April 12, 2008: Volume 10, Number 15

April 5, 2008: Volume 10, Number 14

March 29, 2008: Volume 10, Number 13

March 22, 2008: Volume 10, Number 12

March 15, 2008: Volume 10, Number 11

The Windows Observer
Will Bloat and Complexity Get the Best of Windows? Probably Not

More Wheeling, But No Dealing in Micro-Hoo

Microsoft Unveils New Security Vision as 'Stirling' Goes to Beta

As I See It: Misera Plebs Contribuens

Windows and Linux Get a Skinny Blade Server from IBM

The Unix Guardian
Sun Plans to Scale T2+ Servers to Four Sockets, Maybe More

And Then There Was One: The New and Improved Power 570

Sundry Power Systems Announcements

As I See It: Goldilocks and the Zen of IT

Server Makers Start Shipping Barcelona Boxes

Four Hundred Monitor
Four Hundred Monitor's
Full iSeries Events Calendar

THIS ISSUE SPONSORED BY:

WorksRight Software
ProData Computer Services
Guild Companies


Printer Friendly Version


TABLE OF CONTENTS
A Recycle Bin for the IFS (Sort Of)

Performance Advice from a Mysterious Friend, Part 6

What is INZSYS, and Why Should I Care?

Four Hundred Guru

BACK ISSUES

From the IT Jungle Forums
Al Barsa passed away

Copying recs from a subfile to a file and keeping highlights

Imbedded SQL

CPYFRMSTMF problem

CPYTOIMPF problem

Table Transferfrom OS400 to Windows





 
Subscription Information:
You can unsubscribe, change your email address, or sign up for any of IT Jungle's free e-newsletters through our Web site at http://www.itjungle.com/sub/subscribe.html.

Copyright © 1996-2008 Guild Companies, Inc. All Rights Reserved.
Guild Companies, Inc., 50 Park Terrace East, Suite 8F, New York, NY 10034

Privacy Statement