Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages

Manual Reference Pages  -  SCHEDULE::AT (3)

.ds Aq ’


Schedule::At - OS independent interface to the Unix ’at’ command



 require Schedule::At;

 Schedule::At::add(TIME => $string, COMMAND => $string [, TAG =>$string]);
 Schedule::At::add(TIME => $string, COMMAND => \@array [, TAG =>$string]);
 Schedule::At::add(TIME => $string, FILE => $string)

 %jobs = Schedule::At::getJobs();
 %jobs = Schedule::At::getJobs(JOBID => $string);
 %jobs = Schedule::At::getJobs(TAG => $string);

 Schedule::At::readJobs(JOBID => $string);
 Schedule::At::readJobs(TAG => $string);

 Schedule::At::remove(JOBID => $string);
 Schedule::At::remove(TAG => $string);


This modules provides an OS independent interface to ’at’, the Unix command that allows you to execute commands at a specified time.
Schedule::At::add Adds a new job to the at queue.

You have to specify a <B>TIMEB> and a command to execute. The <B>TIMEB> has a common format: YYYYMMDDHHmm where <B>YYYYB> is the year (4 digits), <B>MMB> the month (01-12), <B>DDB> is the day (01-31), <B>HHB> the hour (00-23) and <B>mmB> the minutes.

The command is passed with the <B>COMMANDB> or the <B>FILEB> parameter. <B>COMMANDB> can be used to pass the command as an string, or an array of commands, and <B>FILEB> to read the commands from a file.

The optional parameter <B>TAGB> serves as an application specific way to identify a job or a set of jobs.

Returns 0 on success or a value != 0 if an error occurred.

Schedule::At::readJobs Read the job content identified by the <B>JOBIDB> or <B>TAGB> parameters.

Returns a hash of JOBID => $string where $string is the the job content. As the operating systems usually add a few environment settings, the content is longer than the command provided when adding the job.

Schedule::At::remove Remove an at job.

You identify the job to be deleted using the <B>JOBIDB> parameter (an opaque string returned by the getJobs subroutine). You can also specify a job or a set of jobs to delete with the <B>TAGB> parameter, removing all the jobs that have the same tag (as specified with the add subroutine).

Used with JOBID, returns 0 on success or a value != 0 if an error occurred. Used with TAG, returns a hash reference where the keys are the JOBID of the jobs found and the values indicate the success of the remove operation.

Schedule::At::getJobs Called with no params returns a hash with all the current jobs or dies if an error has occurred. It’s possible to specify the <B>TAGB> or <B>JOBIDB> parameters so only matching jobs are returned. For each job the key is a JOBID (an OS dependent string that shouldn’t be interpreted), and the value is a hash reference.

This hash reference points to a hash with the keys:
TIME An OS dependent string specifying the time to execute the command
TAG The tag specified in the Schedule::At::add subroutine

Configuration Variables

o $Schedule::At::SHELL

This variable can be used to specify shell for execution of the scheduled command. Can be useful for example when scheduling from CGI script and the account of the user under which httpd runs is locked by using ’/bin/false’ or similar as a shell.


 use Schedule::At;

 # 1
 Schedule::At::add (TIME => 199801181530, COMMAND => ls,
        TAG => ScheduleAt);
 # 2
 @cmdlist = ("ls", "echo hello world");

 Schedule::At::add (TIME => 199801181630, COMMAND => \@cmdlist,
        TAG => ScheduleAt);
 # 3
 Schedule::At::add (TIME => 199801181730, COMMAND => df);

 # This will remove #1 and #2 but no #3
 Schedule::At::remove (TAG => ScheduleAt);

 my %atJobs = Schedule::At::getJobs();
 foreach my $job (values %atJobs) {
        print "\t", $job->{JOBID}, "\t", $job->{TIME},  ,
                ($job->{TAG} || ), "\n";


Jose A. Rodriguez (jose AT
Search for    or go to Top of page |  Section 3 |  Main Index

perl v5.20.3 AT (3) 2012-04-24

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.