Sched is written in perl. Packages are available for debian system.
Modules sched_master, sched_view and sched_builder are design to work on debian. You can use them on other system but installation will not be explain here.
Programs (sched_slave, sched_xfer, sched_job and sched_builder) must be installed in PATH (ex /usr/local/bin)
You have to configure src/lib/sched/Sched.pm for your environment :
our $prefix = '/tmp/sched' ; our $prefix_etc = "$prefix/etc" ; our $prefix_bin = "$prefix/bin" ; our $prefix_share = "$prefix/share" ;
The directory share can be create with ./src/utils/mk_share.sh
Sched libraries src/lib/sched must be installed in perl directory (@INC).
localhost:~/# perl -e 'use exemple;' Can't locate exemple.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.8.4 /usr/local/share/perl/5.8.4 /usr/lib/perl5 ...) BEGIN failed--compilation aborted at - line 1.
For installing sched library in a non-system perl directory, you can use PERL5LIB variable or add to program header an use lib;
#!/usr/bin/perl -w use lib '/path/to/sched/lib' ;
or
plume:~/tmp# export PERL5LIB=~/sched/src/lib/sched/
The CPAN module is designed to automate the make and install of perl modules and extensions. Modules are fetched from one or more of the mirrored CPAN (Comprehen- sive Perl Archive Network) sites and unpacked in a dedicated directory.
You can install modules in a non-system directory with PREFIX option and PERL5LIB variable.
perl -MCPAN -e shell cpan# install Net::EasyTCP
- Net::EasyTCP - XML::Mini - Text::Balanced - Digest::MD5 - Log::Log4perl - MIME::Base64 - Config::IniFiles - Tie::File - Time::HiRes - Event - Time::ParseDate
To use XML::Mini with Sched, you must apply this patch
--- org/XML/Mini/Document.pm 2004-10-01 23:03:20.000000000 +0200
+++ new/XML/Mini/Document.pm 2004-10-22 21:30:49.000000000 +0200
@@ -761,0 +761,0 @@
return undef unless (defined $attrString);
my $count = 0;
- while ($attrString =~ /([^\s]+)\s*=\s*(['"])([^\2]+?)\2/g)
+ while ($attrString =~ /([^\s]+?)\s*=\s*(['"])([^\2]*?)\2/g)
{
my $attrname = $1;
my $attrval = $3;
These modules are used by the communication network library.
- Compress::Zlib - Crypt::Blowfish - Crypt::CBC
- DBI - Pg - String::Random
- HTTP::Daemon - Net::IPNetMember
- Gnome2 - Gnome2::Canvas - Gtk2::GladeXML
| OS | Module | Notes |
|---|---|---|
| Linux i386 debian (sid) | sched_master | OK |
| sched_job | OK | |
| sched_xfer | OK | |
| sched_slave | OK | |
| Ubuntu 5.04 | sched_master | OK |
| sched_job | OK | |
| sched_xfer | OK | |
| sched_slave | OK | |
| Solaris | sched_job | OK |
| sched_slave | OK | |
| Linux FC2 | sched_job | OK |
| sched_slave | OK | |
| Linux Redhat7.3 | sched_job | OK |
| sched_slave | OK | |
| Windows 2003 | sched_job | via cygwin |
| sched_slave | via cygwin | |
| Windows XP | sched_job | via cygwin |
| sched_slave | via cygwin | |
| sched_xfer | via cygwin |
cygrunsrv is used to transform sched_slave and sched_xfer to NT service.
bash:# cygrunsrv -I sched_slave -p /bin/perl.exe \
-a '/path/to/sched_slave -c /path/to/etc/slave.cfg' \
-e PERL5LIB=/perl/lib/perl5/site_perl/5.8:/perl/lib/perl5/site_perl/5.8/cygwin:/path/to/sched/lib \
-u utilisateur_administrateur
sched_master permit to :
To do this work, the program does not require particular permission. It can run as sched/sched for example.
You can easly use NAT or SNAT with sched. You have to be coherent with your host configuration.
| Source | Destination | Port/Protocol |
|---|---|---|
| sched_slave | sched_master | master_port |
| sched_job | sched_master | master_port |
| sched_master | sched_xfer | xfer_port |
| Mozilla | sched_view | http |
Add sched user :
postgres@plume:~# createuser -P sched Enter password for new user: Enter it again: Shall the new user be allowed to create databases? (y/n) n Shall the new user be allowed to create more new users? (y/n) n CREATE USER
Create sched database :
postgres@plume:~# createdb -O sched sched CREATE DATABASE
Manage permission connection :
postgres@plume:~# grep sched /etc/postgresql/pg_hba.conf local sched sched password
Initialize database :
postgres@plume:~# psql -U sched -W sched < pg.sql
ScriptAlias /cgi-bin/sched/ /usr/lib/cgi-bin/sched/
<Directory "/usr/lib/cgi-bin/sched">
AllowOverride AuthConfig
Options ExecCGI
Order allow,deny
Allow from all
</Directory>
Alias /sched /usr/share/sched/html
<Directory "/usr/share/sched/html">
Options None
AllowOverride AuthConfig
Order allow,deny
Allow from all
</Directory>
Use of Mozilla (1.7) with svg support permit to view execution reports. (see on http://localhost/sched). (Fig 3)
On Debian or ubuntu system, you have to enable truetype font on /etc/mozilla/prefs.js.
pref("font.FreeType2.enable", true);
pref("font.directory.truetype.1",
"/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType");
pref("font.directory.truetype.2", "/usr/share/fonts/truetype");
pref("font.directory.truetype.3",
"/usr/share/fonts/truetype/openoffice");
You have to get .deb files on www.nongnu.org/sched, install them with dpkg -i *.deb and complete dependency with apt-get install -f. Sample configuration files are installed under /etc/sched, you have to verify them.
Eric 2005-12-17