Sponsored Content
Top Forums Shell Programming and Scripting Help gettgin this script to work on linux Post 302549596 by binary-ninja on Tuesday 23rd of August 2011 10:49:09 AM
Old 08-23-2011
Help gettgin this script to work on linux

This script used to work on windows but is erroring our at line 25 when run under linux. The specific errir that i get is "Can't call method "mtime" on an undefined value at ./make_event_log_index.pl line 25."

Any help would be appreciated

....................................................................................................
Code:
#!/usr/bin/perl -w

use File::Find;
use File::stat;

for ($count = 1; $count <= 23; $count++){
  $#file = -1; # Zero-out array
  $dir = "/home/bed_mfg1/event_logs";
  find(\&Wanted, $dir);
  @file=reverse(sort(@file));
  open (FILE, "> /tmp/event_logs_listing.tmp") or die "Could not open file: $!";
  print FILE "@file";
  close FILE;
  rename "/batch/event_logs_listing.tmp", "/batch/event_logs_listing.txt";
  $#file = -1; # Zero-out array after run (so memory's freed for sleep cycle)
  sleep 3300;  # Roughly the amount of time, when added to execution time, to equal an hr
}


sub Wanted
  {
    my $name = $File::Find::name;
    $name =~ s/\//\\/g;
    $size = -s "$name";
    $date = stat($name)-> mtime;
    my ($sec, $min, $hour, $day, $month, $year) = (localtime($date))[0,1,2,3,4,5,6];
    $year+=1900;
    $month++;  # I have _NO_ idea why $month is off by one.  None.
    if ($min < 10){$min = "0".$min;}
    if ($hour < 10){$hour = "0".$hour;}
    if ($month < 10){$month = "0".$month;}
    if ($day < 10){$day = "0".$day;}

    $name =~ s/\\/\\\\/;
    $file[$#file+1]  = "$year-$month-$day".'_'."$hour:$min".",".$name.",".$size."\n";
  }


Last edited by pludi; 08-23-2011 at 12:03 PM..
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

ISDN on Linux..will it work?

Hi everyone! I going to change from a 56k modem to a ISDN connection and was wondering if this will work under Linux and what i would need to get it up and running ? (on Mandrake 8.0).. thanx in advance.. grtz phaelanx :) (4 Replies)
Discussion started by: Phaelanx
4 Replies

2. UNIX for Advanced & Expert Users

Trying to get my USB network card to work with Linux

Ok, heres the deal... Yesterday i installed Unix on my laptop and surprisingly everything works perfect.....exept my network card i have a linksys USB network card (basically a thing you plug into a USB port that is now your NIC card and i connect it to my router) But i have no idea how i... (1 Reply)
Discussion started by: Freakytah
1 Replies

3. UNIX for Dummies Questions & Answers

Is it possible to put the whole Linux OS on DVD and work with it?

Is it possible to put the whole Linux OS on DVD and work with it? If yes, how to do it? (1 Reply)
Discussion started by: alexhon
1 Replies

4. UNIX for Dummies Questions & Answers

Work on Linux Using Bootable CD ??

Hi , I am using a laptop with windows XP as the operating system. i want to use linux/unix without installing it on my machine. I heard that i can do so using some Linux bootable CD .... which can be used to work on linux environment with out physically installing it on your system. I... (2 Replies)
Discussion started by: newbie07
2 Replies

5. UNIX for Dummies Questions & Answers

Script doesn't work, but commands inside work

Howdie everyone... I have a shell script RemoveFiles.sh Inside this file, it only has two commands as below: rm -f ../../reportToday/temp/* rm -f ../../report/* My problem is that when i execute this script, nothing happened. Files remained unremoved. I don't see any error message as it... (2 Replies)
Discussion started by: cheongww
2 Replies

6. UNIX for Dummies Questions & Answers

Any Linux/Unix work with SATA yet?

i got my computer in 2k, built it myself. top of the line then and better than most still now. one problem however is i was never able to install unix because the old kernels were not compatible with SATA hard drives i dont have any IDE drives nor do i want any I want mine on SATA, but every... (5 Replies)
Discussion started by: GXDeMoNN
5 Replies

7. Shell Programming and Scripting

sed works on Linux and Unix does not work

Hi, I use this command in Linux but if I run the same command does not work in freebsd. Follow the below command: Linux works: sed -e '1731a\' -e '####' squid.conf > squid2.conf ; sed -e '1731a\' -e 'acl TESTE_ip src 192.168.1.1/255.255.255.255' squid2.conf > squid.conf ; sed -e... (7 Replies)
Discussion started by: andreirp
7 Replies

8. Shell Programming and Scripting

Modify awk command to work in linux

Hi All I have the original file like '1','3','COMMON','N','djpCM3PopDimDateGen','JobDescription','1','ds','O','ONE' '1','3','COMMON','N','djpCM3PopDim1','JobDescription','2','ds','O','ONE' '1','3','COMMON','N','djpCM3PopDim2','JobDescription','3','ds','O','ONE'... (3 Replies)
Discussion started by: vee_789
3 Replies

9. What is on Your Mind?

[?] Does Netflix work on Linux in Firefox?

I've tried to totally ignore Netfix to date, though I might change my mind. But I refuse to keep a Windows box running for any reason. Is anyone streaming movies from Netflix and watching them on a Linux box? I went to netflix.com to look for the requirements page. None. OK, how about a... (4 Replies)
Discussion started by: KenJackson
4 Replies

10. Shell Programming and Scripting

My script work on Linux but not work in sunos.

My script work on Linux but not work in sun os. my script. logFiles="sentLog1.log sentLog2.log" intial_time="0 0" logLocation="/usr/local/tomcat/logs/" sleepTime=600 failMessage=":: $(tput bold)Log not update$(tput rmso) = " successMessage="OK" arr=($logFiles)... (7 Replies)
Discussion started by: ooilinlove
7 Replies
SCRIPTREPLAY(1) 						   User Commands						   SCRIPTREPLAY(1)

NAME
scriptreplay - play back typescripts, using timing information SYNOPSIS
scriptreplay [options] [-t] timingfile [typescript [divisor]] DESCRIPTION
This program replays a typescript, using timing information to ensure that output happens at the same speed as it originally appeared when the script was recorded. The replay simply displays the information again; the programs that were run when the typescript was being recorded are not run again. Since the same information is simply being displayed, scriptreplay is only guaranteed to work properly if run on the same type of terminal the typescript was recorded on. Otherwise, any escape characters in the typescript may be interpreted differently by the terminal to which scriptreplay is sending its output. The timing information is what script(1) outputs to standard error if it is run with the -t parameter. By default, the typescript to display is assumed to be named typescript, but other filenames may be specified, as the second parameter or with option -s. If the third parameter is specified, it is used as a speed-up multiplier. For example, a speed-up of 2 makes scriptreplay go twice as fast, and a speed-up of 0.1 makes it go ten times slower than the original session. OPTIONS
The first three options will overide old-style arguments. -t, --timing file File containing script timing output. -s, --typescript file File containing the script terminal output. -d, --divisor number Speed up the replay displaying this number of times. The argument is a floating point number. It's called divisor because it divides the timings by this factor. -V, --version Display version information and exit. -h, --help Display a help message and exit. EXAMPLE
% script --timing=file.tm script.out Script started, file is script.out % ls <etc, etc> % exit Script done, file is script.out % scriptreplay --timing file.tm --typescript script.out SEE ALSO
script(1) COPYRIGHT
Copyright (C) 2008 James Youngman Copyright (C) 2008 Karel Zak This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICU- LAR PURPOSE. Released under the GNU General Public License version 2 or later. AUTHOR
The original scriptreplay program was written by Joey Hess <joey@kitenet.net>. The program was re-written in C by James Youngman <jay@ gnu.org> and Karel Zak <kzak@redhat.com>. AVAILABILITY
The scriptreplay command is part of the util-linux package and is available from Linux Kernel Archive <ftp://ftp.kernel.org/pub/linux/utils /util-linux/>. util-linux September 2011 SCRIPTREPLAY(1)
All times are GMT -4. The time now is 06:02 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy