Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Generation file copying for tech support backup Post 302180634 by sjohnson on Monday 31st of March 2008 04:37:16 PM
Old 03-31-2008
Tools Final code?

I just found the "defined" operator? as well? Smilie

Now I'm just wondering if using "warn" is the best way to display the output to the command line? Some people here will want to see it and others won't.

I know that there is some way of re-directing the "warn"/"die" to an error log in unix, but I can't remember the syntax for it.

As per the forums rules: Smilie
Here's the code that I finished with; we'll be adding other functionality at a later time, but here it is as it stands:

Code:
#!/usr/bin/perl

use strict;
use warnings;

# Get The Argument List
  my ($argFileName, $argMaxCount) = @ARGV;

# End Run If We Don't Have At Least 2 Arguments
  die " - Usage : $0 <FileName> <ArchiveCount>\n" if $#ARGV < 1;

# Check For Valid Arguments
  die " - $0: FileName:  $argFileName does NOT exist\n" unless ( -e $argFileName );
  die " - $0: ArchiveCount:  $argMaxCount is less than 1\n" if ( $argMaxCount < 1 );

# Split Filename From Extention
  my ($base, $ext) = split (/\./, $argFileName);

# Check For File Extension And Add "."
  $ext = ( ( defined $ext ) ? ( "." . $ext ) : "" );

# Rename The Files
  &myRename;

# Rename The Subfile Dictionaries As Well 
  if ( $ext eq ".sf" ) {
    warn "\n - Processing Subfile Dictionaries:\n\n";
    $ext = ".sfd";
    &myRename;
  }

# End Processing
exit;

sub myRename
{
  # Get File List In Reverse Order

  for my $curFile ( reverse <$base*$ext> ) {
  # Skip Non-Matching Extentions
    my ($curBase, $curExt) = split (/\./, $curFile);
    $curExt = ( ( defined $curExt ) ? ( "." . $curExt ) : "" );
    next unless $ext eq $curExt;

  # Skip Non-Version File Names
    next unless ( $curFile =~ /$base\_([0-9]{4})$ext/ );

  # Save This Version Number
    my $fileVersionNum = $1;  # Grab Number We Just Matched Into $fileVersionNum

  # Purge All Matching File Versions >= The Max Counter
    if ( $fileVersionNum >= $argMaxCount ) {
      warn " - Removing - $curFile\n";
      unlink $curFile or warn " - $0: Could not remove $curFile: $!\n";
      next;
    };
    # else
    my $newFile = ( sprintf "%s_%04i%s", $base, $fileVersionNum+1, $ext );
    warn " - Renaming - $curFile -> $newFile\n";
    rename $curFile, $newFile or warn " - $0: Could not rename $curFile to $newFile: $!\n";
  };

  my $oldFile = ( sprintf "%s%s", $base, $ext );
  my $newFile = ( sprintf "%s_%04i%s", $base, 1, $ext );
  warn " - Renaming - $oldFile      -> $newFile\n";
  rename ( $oldFile, $newFile ) or warn " - $0: Could not rename $oldFile to $newFile: $!\n";
};

 

8 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Check backup file size on backup tape

Hi, I performed backup on tape and I want to append more files to my previous backup on the same backup tape. But before I do that I need to know the backup file size of the first backup I performed so that I know the available size on the backup tape. Can someone help me what command I will use... (0 Replies)
Discussion started by: ayhanne
0 Replies

2. Shell Programming and Scripting

Backup script: Copying and removing directories based on list

I am writing a simple backup script, but I cannot figure out how to remove directories that are found in a list. For example: DONT_COPY=" .adobe/ .bin/google-earth " tar -zcvf - * --exclude=$DONT_COPY | openssl des3 -salt -k $1 | dd of=$(hostname)-$(date +%Y%m%d).tbz > COPIED Note that... (4 Replies)
Discussion started by: dotancohen
4 Replies

3. 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

4. Shell Programming and Scripting

generation of control file

Hi, I wanted to create a control file with data in it. Also wanted to append more points like 1)Row count, then print the first field 2)first line of the file 3)last line of the file I started with this:- ls -ltr *.*| awk ' { print $9 "|" $7 $6 $8 "|" $5 } ' sed -n '1p'; sed -n '$p'; ... (2 Replies)
Discussion started by: alokbaba
2 Replies

5. Shell Programming and Scripting

Help with file generation

Dear all Hope you are doing good. I've requirement where in I need to generate a file containing set of SQLs as per the inputs. My script flow is like reading few parameters using read command to read input to script and process the inputs. However at one of the input, my script has to... (3 Replies)
Discussion started by: tenderfoot
3 Replies

6. UNIX for Dummies Questions & Answers

Core File Generation

Hi I am using Linux and I am using Java as well as C++ services running on it. The ulimit -c is set to around 400Mb. Whenever any of the service fails they produce a core file.(Actual size of core could be greater than 400Mb). Whenever my Java service fails I get a core file of size 400Mb... (3 Replies)
Discussion started by: Raj999
3 Replies

7. What is on Your Mind?

Your Favorite Tech Support Web Sites and Why?

Where do you go to participate in technical discussions besides UNIX.COM and why? Personally, I do not really participate in other forums and discussion boards, but I do ask questions from time to time on Stack sites. The problem I have with Stack is that my questions are never answered on any... (30 Replies)
Discussion started by: Neo
30 Replies

8. Shell Programming and Scripting

Xls file generation

Hi Team, Is it possible to generate the xls OR xlsx file factility in Unix and xls file should be more than one sheet. (2 Replies)
Discussion started by: bmk123
2 Replies
idevicebackup2(1)					      General Commands Manual						 idevicebackup2(1)

NAME
idevicebackup2 - Create or restore backups for devices running iOS 4 or later. SYNOPSIS
idevicebackup2 [OPTIONS] CMD [CMDOPTIONS] DIRECTORY DESCRIPTION
Create or restore backup from the current or specified directory. OPTIONS
-u, --udid UDID target specific device by its 40-digit device UDID. -s, --source UDID use backup data from device specified by UDID. -i, --interactive request passwords interactively on the command line. -d, --debug enable communication debugging. -h, --help prints usage information. COMMANDS
backup create backup for the device. restore restore last backup to the device. --system restore system files, too. --reboot reboot the system when done. --copy create a copy of backup folder before restoring. --settings restore device settings from the backup. --remove remove items which are not being restored. --password PWD supply the password of the source backup. info show details about last completed backup of device. list list files of last completed backup in CSV format. encryption on|off [PWD] enable or disable backup encryption. changepw [OLD NEW] change backup password on target device. AUTHORS
Martin Szulecki Nikias Bassen SEE ALSO
idevicebackup(1) idevicebackup2(1)
All times are GMT -4. The time now is 04:48 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy