Al Sparks wrote:
Here's a perl script that works when I run it manually. But when I
run it via cron, it won't create the directory. But worse than that,
an email isn't sent to the account running the job. So I'm not
getting an error, but it does work when I run it manually.
If I put an obvious error in the script, cron does generate an
email giving me the STDERR.
What could it be?
=== Al
#!/usr/bin/perl
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
# Above functions, "time" and "localtime", return weird $year and $month
# Need to be converted to become human readable
$year = $year + 1900;
$mon = $mon + 1;
# Want $mday and $mon to be 2 digits, with leading zero if necessary
$mday = "0" . $mday if $mday < 10;
$mon = "0" . $mon if $mon < 10;
# Second parameter is mask in octal
chdir "/ora-local/db-test-backups";
mkdir "${year}_${mon}_${mday}", \00022;
####End perl script
Probably a permissions problem, as has been noted. What I can't
understand is how the problem came to be so complicated. This, run as a
root cron job, will produce the desired directory:
#!/bin/bash
mkdir -p /ora-local/db-test-backups/`date +%Y"_"%m"_"%d`
...without the adjustments in the perl script. AAMOF, it's even simpler
if you can tolerate hyphen separators rather than underscores. (date +%F)
_______________________________________________
CentOS mailing list
CentOS@xxxxxxxxxx
http://lists.centos.org/mailman/listinfo/centos