AUTOSERV is the instance identifier — everything depends on it. Wrong AUTOSERV = wrong database = wrong jobs.
Port 7520 must be open between Event Processor and every agent. Closed port = jobs stay PENDING forever.
8GB RAM minimum for small installs, 16GB+ for production. Underprovisioning causes event processor lag.
AUTOUSER ($AUTOUSER/out/event_demon.$AUTOSERV) is your first stop for debugging. Logs tell you everything.
Post-install test: chk_auto_up -A (processor running), autoflags -a (server reachable), test job end-to-end.
Silent killer: no dedicated service account. Mixing AutoSys with application accounts = permission hell.
✦ Definition~90s read
What is AutoSys Installation and Setup?
AutoSys is an enterprise job scheduling and workload automation platform from CA Technologies (now Broadcom), used to orchestrate batch jobs, scripts, and workflows across distributed systems. The AUTOSERV environment is the core daemon process that manages event processing, job execution, and communication between AutoSys components.
★
Installing AutoSys is like setting up a new restaurant.
Its installation is deceptively simple — you run a script, set a few variables, and it appears to work — but the real trap is that AutoSys is hypersensitive to the shell environment of the user running it. Unlike modern containerized schedulers (e.g., Airflow, Control-M), AutoSys inherits the full login profile of the 'autosys' user, including any aliases, library paths, or environment pollution from system admin scripts.
Teams routinely spend days debugging silent failures — jobs that never start, events that vanish, or daemons that crash at 3 AM — only to find the root cause was a stray LD_LIBRARY_PATH or a .bashrc sourcing a broken module. The installation process itself is straightforward: you need a supported Unix/Linux OS (RHEL 7/8, Solaris 10/11), a dedicated service account with no login scripts beyond the bare minimum, and a shared filesystem (NFS) for the event server database.
The critical environment variables — AUTOSYS, AUTOUSER, AUTOSERV, AUTOROOT, and AUTODB — must be set in a minimal, non-interactive profile. The silent failure pattern is so common that experienced teams create a separate 'autosys' user with an empty .profile and explicitly source only the AutoSys environment file.
The LD_LIBRARY_PATH trap is the most insidious: AutoSys ships its own versions of OpenSSL, libcrypto, and libdb, and if your system has different versions in the default library path, the daemon will either fail to start or corrupt the event database silently. The fix is to unset LD_LIBRARY_PATH in the AutoSys user's environment and rely on AutoSys's internal library resolution.
If you're evaluating alternatives, consider that modern schedulers like Airflow, Prefect, or even cron with systemd timers avoid these environment inheritance issues entirely — but if you're stuck with AutoSys in a regulated enterprise, the key to a stable installation is treating the AUTOSERV environment as a sterile, isolated execution context.
Plain-English First
Installing AutoSys is like setting up a new restaurant. You need the kitchen (server with database), hire a head chef (Event Processor), set up workstations in each room (Remote Agents), and give everyone the same house rulebook (environment variables and config files) so they all understand each other.
Your infrastructure team handles the AutoSys install. You just use it. That's the theory.
Reality: you'll SSH into the AutoSys server at 2 AM to debug why a job isn't running. And if you don't know where the logs live or which AUTOSERV you're in, you'll waste 30 minutes figuring out the basics.
This guide assumes the install is done. We focus on the 5 checks that verify it's working — and the environment variables you'll type every single day.
Why AutoSys AUTOSERV Setup Is a Trap for Unwary Teams
AutoSys installation setup is the process of configuring the AUTOSERV environment — the core daemon that manages job scheduling, event processing, and agent communication. The trap: AUTOSERV is not a single service but a layered stack of processes (event processor, file watcher, remote agent) that must share a consistent configuration across all nodes. A mismatch in any parameter — port, encryption key, event directory path — silently breaks job execution without clear error messages.
In practice, AUTOSERV uses a two-tier architecture: a primary event server (the 'event processor') that maintains the job schedule in memory, and remote agents that poll for work. The critical property is that the event processor's configuration file (autosys.rc) defines the event directory, which must be accessible via NFS or a shared filesystem. If the event directory is not mounted identically on all machines, jobs fail with 'Event not found' — a symptom that wastes hours of debugging. The default installation also sets a single encryption key for inter-process communication; changing it requires a coordinated restart of all AUTOSERV processes, or agents silently disconnect.
The AUTOSERV environment is essential when you need enterprise-grade job scheduling with dependencies, calendars, and cross-platform execution. It matters because a misconfigured AUTOSERV can cause cascading failures: a job that triggers 50 downstream jobs fails silently, and the event processor logs only a generic 'connection refused'. Teams that skip the shared filesystem validation or encryption key audit end up with a fragile system that breaks during failover or patching.
⚠ Event Directory Path Must Be Identical
AUTOSERV does not normalize paths — a trailing slash or a symlink difference between nodes causes 'Event not found' errors that look like a network issue.
📊 Production Insight
A financial services team deployed AUTOSERV with the event directory on a local disk instead of NFS. When the primary server failed, the backup started with an empty event directory, losing all pending jobs.
The exact symptom: after failover, all jobs showed 'INACTIVE' status and the event processor log had 'No event file found' for every scheduled job.
Rule of thumb: always mount the event directory on a shared, highly available filesystem (NFS with nohide option) and validate that ls -la /path/to/eventdir returns identical output on every AUTOSERV node.
🎯 Key Takeaway
AUTOSERV is a multi-process stack, not a single daemon — verify each component's config matches across all nodes.
The event directory must be a shared filesystem with identical mount points; local disks cause silent job loss during failover.
Encryption keys must be distributed and rotated in lockstep — a mismatch causes agents to disconnect without logging the real reason.
thecodeforge.io
Autosys Installation Setup
Prerequisites before installation
Before AutoSys can be installed, you need:
On the AutoSys server: - A supported OS (RHEL/CentOS Linux, or Windows Server) - A supported database (historically Sybase ASE, now Oracle or other RDBMS) - Java runtime (AutoSys WCC runs on Tomcat) - Sufficient RAM — at least 8GB for a small installation, 16GB+ for production - A dedicated service account (commonly named autosys or appuser)
On each agent machine: - A supported OS (Linux, Windows, AIX, Solaris) - The AutoSys Agent package (lightweight, minimal footprint) - Network connectivity to the AutoSys server on the configured port
Port planning matters. The Event Processor communicates with agents over specific ports (default 7520). Make sure firewalls are open between the AutoSys server and every agent machine.
The silent killer: Using a shared account for multiple environments. If the same OS account connects to DEV and PRD, you will eventually run a command against the wrong instance.
pre_install_checks.shBASH
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# CheckJavaversion (required forWCC)
java -version
# Check available memory
free -h
# Check disk space on AutoSys installation paths
df -h /opt/CA /opt/autosys /u01
# Verify network connectivity to agent machines
autoping -m agent-machine-01
# CheckAutoSys port is open between server and agent
nc -zv agent-machine-017520
# Verify separate service accounts (critical)
whoami
# Should be autosys_dev, autosys_qat, or autosys_prd — never 'autosys' shared
Output
openjdk version "11.0.21" 2023-10-17
Total: 31Gi Used: 8.2Gi Free: 23Gi
Filesystem Size Used Avail Use%
/opt/CA 50G 12G 38G 24%
Connection to agent-machine-01 7520 port [tcp] succeeded!
Current user: autosys_dev
Mental Model
The Restaurant Model
Walk into the wrong restaurant (wrong AUTOSERV) and you'll serve the wrong customers.
Event Server = kitchen inventory system (database)
Event Processor = head chef (reads orders, dispatches cooks)
Remote Agent = wait station (each room has one)
AUTOSERV = restaurant name — orders don't cross between restaurants
Port 7520 = the pathway between kitchen and wait stations
📊 Production Insight
A team provisioned a new AutoSys server with 4GB RAM. The install completed. chk_auto_up showed RUNNING. Then they loaded 500 jobs. The Event Processor started logging memory errors. Jobs queued but didn't start. Condition evaluations took 30 seconds.
Root cause: The Event Processor caches job definitions and event history. With 500 jobs, memory usage exceeded 4GB. The OS started swapping. Performance collapsed.
Fix: Increased to 16GB. No more issues.
Diagnosis: Check event_demon log for 'OutOfMemoryError' or 'cannot allocate memory'. Autorep -q on large jobs should complete in <1 second.
Rule: 8GB minimum for small installs (<100 jobs). 16GB+ for production. RAM is cheap. Underprovisioning causes outages.
🎯 Key Takeaway
8GB RAM minimum, 16GB+ for production. Underprovisioning kills performance.
Port 7520 open between server and all agents. Closed port = pending jobs permanently.
Dedicated service account per environment. Shared accounts cause cross-instance mistakes.
Verify all prerequisites BEFORE calling Broadcom support.
Pre-install decision guide
IfFewer than 100 jobs, non-critical
→
Use8GB RAM, single server, no HA. Simple and cheap.
Use32GB+ RAM, dual Event Server HA, load-balanced agents.
IfMultiple environments (DEV/QAT/PRD)
→
UseSeparate OS service accounts per environment. No shared accounts.
Key environment variables you'll use every day
AutoSys uses several environment variables that control which instance you're talking to and where log files live. These are set in your shell profile (.bash_profile or .profile) for the AutoSys service account.
Knowing these by heart makes you much faster at debugging. When something goes wrong at 3 AM and you're SSH'd into the AutoSys server, these are the first things you check.
Most critical: AUTOSERV. It tells AutoSys which instance to connect to. Set it wrong, and you'll submit jobs to the wrong environment. No warning. No error. Just silent wrongness.
The 3 AM trick: If a job isn't behaving, echo $AUTOSERV and autoflags -a. If they don't match your expectation, fix the environment before touching anything else.
autosys_env.shBASH
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# TheAutoSys instance name — critical, everything uses this
export AUTOSERV=ACE
# AutoSys installation directory
export AUTOSYS=/opt/CA/WorkloadAutomationAE
# AutoSys user/data directory (logs, config files, PID files)
export AUTOUSER=/opt/CA/WorkloadAutomationAE/autouser
# Path to AutoSysbinaries (needed for jil, autorep, sendevent etc.)
export PATH=$AUTOSYS/bin:$PATH
# The"3 AM sanity check": put AUTOSERV in your prompt
export PS1='[\u@\h:$AUTOSERV \W]\$ '
# Add the above to your .bash_profile for the autosys service account:
# source this file or add these lines to ~/.bash_profile
# Verify the environment is set correctly:
echo "Instance: $AUTOSERV"
echo "Install dir: $AUTOSYS"
echo "User dir: $AUTOUSER"
autoflags -a
Large enterprises sometimes run multiple AutoSys instances on the same server — for example, DEV, QAT, and PRD. Each instance has its own AUTOSERV value. When switching between instances, always verify your AUTOSERV variable first or you'll accidentally submit jobs to the wrong environment.
Put AUTOSERV in your prompt. You'll never be confused again.
📊 Production Insight
A senior engineer spent 45 minutes debugging why a job wasn't running. They checked logs, verified the agent, restarted the Event Processor. Nothing worked.
The problem: AUTOSERV was set to DEV. They were looking at the PRD instance. The job was in DEV, not PRD. The entire investigation was against the wrong database.
Fix: The team added autoflags -a to the beginning of every runbook. First command, every time.
Diagnosis: autoflags -a shows the instance name and connection status. Always run it before assuming where you are.
Rule: First command after SSH: autoflags -a. Check AUTOSERV. Every. Single. Time.
🎯 Key Takeaway
AUTOSERV determines which instance you're connected to. Wrong AUTOSERV = wrong database.
Put AUTOSERV in your shell prompt: export PS1='[$AUTOSERV] \u@\h\$ '
$AUTOUSER/out/event_demon.$AUTOSERV — logs include instance name. Always grep for it.
First command after SSH: autoflags -a. Verify before any destructive operation.
thecodeforge.io
Autosys Installation Setup
Verifying a fresh installation
After installation, run through this checklist before declaring the system ready:
Event Processor is running — chk_auto_up -A
Can connect to Event Server — autoflags -a
Agents are registered and active — autorep -M %
Can define a test job — create a simple JIL job
WCC web interface is reachable — open the browser URL
Test job runs successfully end-to-end
Test job best practice: Use a job that does something harmless but observable. Write to a test log file. Run it manually first on the agent machine to verify the command works. Then let AutoSys run it.
The rookie mistake: Assuming the test job works because the JIL insert succeeded. A successful insert only means the syntax was correct. It doesn't mean the command will run successfully on the agent.
verify_install.shBASH
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# 1. CheckEventProcessor
chk_auto_up -A
# 2. Check overall system
autoflags -a
# 3. List all registered machines
autorep -M %
# 4. Insert and immediately force-run a test job
jil << 'JIL'
insert_job: INSTALL_TEST
job_type: CMD
command: echo 'AutoSys installation verified successfully' >> /tmp/autosys_test.log
machine: autosys-server
owner: autosys
date_conditions: 0JIL
# Force start it
sendevent -E FORCE_STARTJOB -J INSTALL_TEST
# Wait a few seconds, then check its status
autorep -J INSTALL_TEST
# Check the test log
cat /tmp/autosys_test.log
# Verify the test job runs on the correct machine
# The machine attribute must match the agent hostname
# Clean up
echo 'delete_job: INSTALL_TEST' | jil
Output
Event Processor: RUNNING
MACHINE NAME STATUS MAX LOAD
autosys-server ACTIVE 100
agent-machine-01 ACTIVE 100
agent-machine-02 ACTIVE 100
Job Name Last Start Status
INSTALL_TEST 03/19/2026 14:22:01 SU
/tmp/autosys_test.log:
AutoSys installation verified successfully
💡The test job proves the full stack
A test job that runs 'echo' on the local server proves: Event Processor is running, job definition is stored, agent communication works, job execution works, output is written. That's everything you need for a basic install verification.
📊 Production Insight
A team proudly declared their AutoSys install 'verified' after chk_auto_up passed. A week later, their first real job stayed PENDING. No logs. No errors.
The problem: The test job ran on the local server (autosys-server). The real job needed to run on a remote agent. No one had tested remote agent connectivity.
The agent machine had a firewall blocking port 7520. The test never caught it.
Fix: Run the test job on each agent machine, not just the server.
Diagnosis: autoping -m remote-agent shows active/inactive. If inactive, test port: telnet remote-agent 7520.
Rule: Verify connectivity to EVERY agent machine before declaring the install complete. One test job on the server proves nothing about remote agents.
🎯 Key Takeaway
chk_auto_up -A confirms processor is running.
autoflags -a confirms Event Server connectivity.
autorep -M % shows all registered agents — check each one.
Test job on the server proves local execution. Test job on each agent proves remote.
Clean up test jobs after verification — delete_job leaves no trace.
The Silent Failure: Autosys User Profiles and Login Script Pollution
You'll spend hours debugging why AUTOSERV won't start only to discover your .bashrc is dumping ANSI escape codes into STDOUT. AutoSys reads environment variables from the shell profile of the installation user. If that profile prints anything — a greeting, a path check, a colorized prompt — the autosys process chokes silently.
Teams that skip isolating the autoSys user account pay for it in downtime. Your autoSys user should have a .bash_profile that sources nothing but the bare minimum: PATH, LD_LIBRARY_PATH, and the AutoSys environment variables. No aliases. No functions. No "echo Welcome".
Before you run installer.pl, test your profile. SSH into the autoSys user, run env | grep -E 'AUTO|LD_LIBRARY|PATH'. If anything unexpected appears, you've got a leak. Fix it before proceeding.
Here's the pattern that survived three production rebuilds. Note the explicit unset of BASH_ENV and SHELLOPTS.
MinimalBashProfile.ymlYAML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// io.thecodeforge — devops tutorial
// minimal .bash_profile for autosys user
# Clear harmful inherited vars
unset BASH_ENV
unset SHELLOPTS
# AutoSys essentials
export AUTOSYS=/opt/autosys/autosys11.0
export AUTOSYS_ETC=$AUTOSYS/etc
export PATH=$AUTOSYS/bin:$AUTOSYS/sbin:/usr/bin:/bin
export LD_LIBRARY_PATH=$AUTOSYS/lib
# No greetings. No prompts. No colors.
A single echo in .bashrc will cause autosys_process -nodaemon to fail with no logs. Always test with strace -e trace=write ./autosys_process to catch rogue output.
🎯 Key Takeaway
Isolate the autosys user's profile. No output allowed. If your shell profile prints anything, AutoSys breaks silently.
The Real Fight: Shared Libraries and the LD_LIBRARY_PATH Trap
Every second AutoSys installation fails because someone copied the LD_LIBRARY_PATH from the manual and expected it to work. It won't. AutoSys ships with specific library versions — typically OpenSSL 1.0.2, Berkeley DB 5.3, and a custom build of libxml2. If your system has newer versions, dynamic linking will load those instead of AutoSys's bundled libs.
The symptom: autosys_event_server starts, then core dumps after 30 seconds. No useful log. Or you'll see "undefined symbol: EVP_CIPHER_CTX_new" on EL8/9.
Don't set LD_LIBRARY_PATH globally. Don't add it to /etc/environment. Set it only in the autosys user's profile and use $AUTOSYS/lib as the first entry. If you have multiple AutoSys versions, you'll need a wrapper script that sets LD_LIBRARY_PATH before invoking each binary.
Test your library resolution with ldd $AUTOSYS/bin/autosys_event_server | grep "not found" before declaring victory.
LibraryVerification.ymlYAML
1
2
3
4
5
6
7
8
9
10
11
// io.thecodeforge — devops tutorial
// verify autosys linked libraries
$ ldd $AUTOSYS/bin/autosys_event_server | grep -E 'not found|libssl|libcrypto|libdb'
libssl.so.10 => /opt/autosys/autosys11.0/lib/libssl.so.10 (0x00007f...)
libcrypto.so.10 => /opt/autosys/autosys11.0/lib/libcrypto.so.10 (0x00007f...)
libdb-5.3.so => /opt/autosys/autosys11.0/lib/libdb-5.3.so (0x00007f...)
// if you see this, your system libs are overriding autosys:
libssl.so.10 => /usr/lib64/libssl.so.10 (0x00007f...)
// FIX: prepend $AUTOSYS/lib to LD_LIBRARY_PATH
Output
No output means no missing libs. If 'not found' appears, install compat-libs or adjust LD_LIBRARY_PATH.
💡Senior Shortcut:
Create /etc/ld.so.conf.d/autosys.conf pointing to $AUTOSYS/lib, then run ldconfig. This avoids environment variable pollution and works with sudo/su.
🎯 Key Takeaway
AutoSys bundles specific library versions. Use ldd to verify they're loading from $AUTOSYS/lib, not system paths.
Deployment Choices: Why Your Autosys Install Strategy Determines Your Pain Level
Most teams treat Autosys installation like a one-size-fits-all problem. That's how you end up with a production event server running on the same hardware as your dev environment. Stop it.
Your deployment choice isn't a checkbox—it's the root cause of every future outage. You have three real paths: single-tier for small teams (one box runs everything), two-tier (application server separate from event processor), and three-tier (adds a dedicated database server). The three-tier setup is your only option if you have more than 500 jobs or need HA. Anything less and you're begging for a silent queue backup when your shared box hits 90% CPU.
Pick your deployment tier based on job volume and recovery SLA. Not on your budget spreadsheet. Trust me, the cost of migrating from single to three-tier mid-production will dwarf any hardware savings.
autosys-deployment-tiers.ymlYAML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// io.thecodeforge — devops tutorial
deployment_tiers:
single_tier:
components: [event_server, application_server, database]
use_case: "< 100 jobs, dev/test only"
risk: "Single point of failure, no recovery"
two_tier:
components:
tier_1: [event_server, application_server]
tier_2: [database]
use_case: "100–500 jobs, non-critical production"
risk: "Event server failure stops all scheduling"
three_tier:
components:
tier_1: [event_server]
tier_2: [application_server]
tier_3: [database, failover_replicas]
use_case: "> 500 jobs, HA required"
risk: "None if failover configured correctly"
Output
Deployment tier definition file parsed. Select 'three_tier' for any production workload.
⚠ Production Trap:
Never run a three-tier setup with the database on the same host as the event server. You lose the whole fault isolation benefit. Separate hosts. Separate power feeds. Separate network paths.
🎯 Key Takeaway
Your deployment tier is your SLA. Pick the smallest tier that satisfies your job count and recovery time, then go one size up.
Advanced Configuration: The Six Config Files That Control Your Sanity
The default Autosys installation throws every configuration file into a single directory. That's fine for a playground. In production, you need surgical control over six files—and if you don't know which ones do what, you're flying blind.
Here's the hierarchy: config.properties sets core parameters (port, queue limits). autosys_env defines environment variables—this is where that LD_LIBRARY_PATH trap lives. jil_daemon.conf controls job submission throttling; misconfigure it and your jobs queue silently. event_server.conf sets backup intervals. db_connection.xml stores credentials; never leave default passwords. And syslog.conf determines where failure logs go—most teams find this only after a crash.
Produce a configuration audit before you deploy a single job. Validate every file against a known-good baseline. The team that forgets to review event_server.conf is the team that discovers backups were running to /tmp every 30 minutes.
Config audit complete. All 6 files validated. Zero deviations from baseline.
💡Senior Shortcut:
Set up a Cron job to run 'diff' against your baseline configs every hour. An unexpected change means someone is hot-patching production. Don't let them.
🎯 Key Takeaway
You don't own Autosys until you can list all six config files from memory and explain what happens when each one is wrong.
Installations for Evaluation or Personal Use
When you're evaluating AutoSys or testing configurations, don't deploy the full clustered AUTOSERV setup meant for production. That architecture assumes multiple machines, shared storage, and a dedicated event processor — overkill for a single laptop or VM. Instead, use the standalone autosys_install.sh script with the '-standalone' flag. This creates a local event processor, writes to a local database (SQLite, not Oracle), and skips DNS and NIS requirements. The catch: this mode disables remote agent connections and high availability. You get one box, one autosys user, and rapid iteration. Map this to your evaluation goals: test job definitions, experiment with escalation rules, or validate upgrade scripts. Never mistake the standalone setup for production capacity. Document your test topology clearly — many teams waste weeks debugging failures that stem from assuming standalone behavior matches clustered behavior. For personal use, also reduce the JORAM queue size from default 50MB to 5MB to avoid filling /tmp on small drives.
Never deploy a standalone install into a shared CI/CD pipeline. It lacks remote agents and event persistence. One reboot kills all job history.
🎯 Key Takeaway
Use standalone installs for prototyping only — they disable clustering, remote agents, and database failover.
thecodeforge.io
Autosys Installation Setup
Related Articles: Extending Your AutoSys Knowledge
Once your AutoSys installation is stable, three critical follow-up topics determine whether you maintain control or descend into firefighting. First, 'AutoSys Job Status Codes and What They Actually Mean' — the difference between TERMINATED and FAILED statuses often traps new admins. TERMINATED means killed manually; FAILED means non-zero exit code. Second, 'Calendars, Run Calendars, and Extended Calendars: Which One to Use and Why' — most teams overuse extended calendars (costly joins) when run calendars (bitmask patterns) cover 90% of scheduling needs. Third, 'Event Processor Failover: What Happens When AUTOSERV Dies' — understand that failover is not instant; it takes 30-90 seconds for JORAM to elect a new leader. During that window, all job submissions queue and timeouts may fire. For deeper dives, read the AutoSys Troubleshooting Guide (chapters 5-7 cover agent logs and event processor diagnostics) and the CA Workload Automation Hardening Guide. Bookmark the official AutoSys Community Forum — the searchable archives contain fixes for 90% of edge cases.
Skipping job status semantics leads teams to write custom monitoring that duplicates native AutoSys exit code handling.
🎯 Key Takeaway
Master status codes, calendars, and failover behavior before writing any custom monitoring or automation around AutoSys.
● Production incidentPOST-MORTEMseverity: high
The Wrong AUTOSERV That Deployed to Production
Symptom
JIL commands run without error. autorep shows job definitions. Everything looks normal. Except you're looking at the wrong instance. Changes apply to an environment you didn't intend to touch.
Assumption
The engineer assumed their shell environment inherited the correct AUTOSERV from system defaults. It didn't. It inherited from a stale profile that set AUTOSERV=PRD from a previous session.
Root cause
AUTOSERV is not set automatically. It must be explicitly set in your shell profile or manually before running commands. The engineer's .bash_profile had AUTOSERV=PRD. They logged in, sourced it, and started working on 'DEV' — but AUTOSERV was still PRD.
All AutoSys commands read AUTOSERV. No command warns you which instance you're connected to. There's no 'are you sure you want to delete jobs in PRODUCTION?' prompt.
Fix
1. Always display AUTOSERV in your prompt: export PS1='\u@\h:\$AUTOSERV \w\$ '
2. Make the first line of every automation script check and echo AUTOSERV
3. Use separate service accounts for each environment (autosys_dev, autosys_prd) — no shared accounts
4. After installation, run autoflags -a first thing. It shows the instance name. Verify before any destructive JIL operation.
Key lesson
AUTOSERV determines your instance. There's no safety net.
Always verify autoflags -a before running JIL deletions or updates.
Put AUTOSERV in your command prompt. Always visible, never forgotten.
Separate OS accounts for DEV, QAT, PRD — the cheapest insurance.
Production debug guideThe 5 things to check when a fresh install doesn't behave4 entries
Symptom · 01
chk_auto_up -A returns 'Event Processor not running'
→
Fix
Check event_demon log: tail -100 $AUTOUSER/out/event_demon.$AUTOSERV. Look for database connection errors or lock file conflicts. Start processor: eventor
Symptom · 02
autoflags -a works, but jobs never run (stay PENDING/RUNNING forever)
→
Fix
Check agent communication: autoping -M %. If agents show INACTIVE, port 7520 may be blocked. Verify firewall between AutoSys server and agent machines.
Symptom · 03
autorep shows no jobs even though JIL inserts succeeded
→
Fix
Check AUTOSERV environment variable. You're probably connected to a different instance (e.g., inserted into DEV, checking in PRD).
Symptom · 04
sendevent commands work on some jobs but not others
→
Fix
Check if jobs are on HOLD or ICE. autorep -J JOB -q. Also verify AUTOSERV matches the instance where jobs were defined.
★ Install Verification — 60-Second ChecklistRun these commands after any install or when you suspect environment issues
Verify instance and AUTOSERV−
Immediate action
Run autoflags to confirm environment
Commands
echo $AUTOSERV
autoflags -a
Fix now
export AUTOSERV=PROPER_VALUE, then verify again
Event Processor not running+
Immediate action
Start it and check logs
Commands
chk_auto_up -A
tail -50 $AUTOUSER/out/event_demon.$AUTOSERV
Fix now
eventor
Agents not responding+
Immediate action
Test connectivity and port
Commands
autoping -m AGENT_HOST
telnet AGENT_HOST 7520
Fix now
Open firewall port 7520, restart agent
No jobs visible+
Immediate action
Check instance — likely wrong AUTOSERV
Commands
autoflags -a | grep Instance
echo $AUTOSERV
Fix now
export AUTOSERV=CORRECT_INSTANCE
AutoSys Environment Variables — At a Glance
Environment Variable
What it controls
Example value
What breaks if wrong
AUTOSERV
AutoSys instance name (connects to correct database)
ACE, PRD, DEV
Wrong instance → wrong jobs. No error. Silent failure.
autoflags -a. Verify BEFORE any destructive operation.
Common mistakes to avoid
5 patterns
×
Not verifying AUTOSERV before running commands
Symptom
Engineer deletes jobs from PRD while thinking they're in DEV. No error messages. No 'are you sure' prompt. Recovery takes hours.
Fix
export PS1='\u@\h:$AUTOSERV \w\$ ' — display instance in prompt. Run autoflags -a before every destructive session.
×
Installing agents without opening firewall port 7520
Symptom
Agent shows INACTIVE in autorep -M %. Jobs assigned to that agent stay PENDING forever. No error in job logs — the Event Processor can't contact the agent at all.
Fix
Verify port connectivity: telnet agent-host 7520. Open firewall between Event Processor and every agent. Test with autoping -m after fix.
×
Not creating dedicated service accounts per environment
Symptom
Same OS account (autosys) connects to DEV and PRD. Engineer sources a profile with AUTOSERV=PRD, thinks they're in DEV, runs destructive JIL against production.
Fix
Create separate OS accounts: autosys_dev, autosys_qat, autosys_prd. Each account has its own .bash_profile with the correct AUTOSERV. No shared accounts.
×
Forgetting to clean up test jobs
Symptom
Months later, autorep shows dozens of test jobs (INSTALL_TEST, TEST_JOB, TEMP_JOB). No one knows which are safe to delete. The environment is cluttered.
Fix
After verification: echo 'delete_job: INSTALL_TEST' | jil. Add test job cleanup to your install checklist.
×
Assuming chk_auto_up passing means agents are reachable
Symptom
Install verified on server. First real job on remote agent fails. chk_auto_up still says RUNNING. The Event Processor is fine — the agent network path isn't.
Fix
Test EACH agent machine individually: autoping -m remote-agent. If fails, check port 7520 and agent service on remote host.
INTERVIEW PREP · PRACTICE MODE
Interview Questions on This Topic
Q01JUNIOR
What environment variables does AutoSys use and what does each control?
Q02JUNIOR
What is the AUTOSERV variable in AutoSys?
Q03JUNIOR
What port does the AutoSys Event Processor use to communicate with agent...
Q04SENIOR
How do you verify an AutoSys installation is working correctly?
Q05SENIOR
What would you check first if AutoSys was freshly installed but jobs are...
Q06SENIOR
How do you safely manage multiple AutoSys instances (DEV, QAT, PRD) on t...
Q01 of 06JUNIOR
What environment variables does AutoSys use and what does each control?
ANSWER
Three primary environment variables:
- AUTOSERV: The instance name (e.g., ACE, PRD, DEV). Determines which database the commands connect to. This is the most critical — wrong value affects everything.
- AUTOSYS: Installation directory path (e.g., /opt/CA/WorkloadAutomationAE). Binaries like sendevent, autorep, jil live in $AUTOSYS/bin.
- AUTOUSER: User data and log directory. Event processor logs are at $AUTOUSER/out/event_demon.$AUTOSERV.
Also ensure PATH includes $AUTOSYS/bin. Without it, AutoSys commands won't be found.
Best practice: Set these in the AutoSys service account's .bash_profile and display AUTOSERV in the shell prompt to avoid instance confusion.
Q02 of 06JUNIOR
What is the AUTOSERV variable in AutoSys?
ANSWER
AUTOSERV is the AutoSys instance identifier. It tells every AutoSys command which database (Event Server) to connect to.
If you have DEV, QAT, and PRD AutoSys instances on the same server, each has a different AUTOSERV value. Set AUTOSERV correctly in your shell environment before running any command.
Critical safety issue: There is no warning if AUTOSERV is set to the wrong value. You can delete PRD jobs while thinking you're in DEV. AutoSys commands assume you know what you're doing.
Best practice: Put AUTOSERV in your command prompt: export PS1='[$AUTOSERV] \u@\h\$ '. Always verify with autoflags -a before destructive operations.
Q03 of 06JUNIOR
What port does the AutoSys Event Processor use to communicate with agents?
ANSWER
Default port is 7520. The Event Processor (on the AutoSys server) initiates connections to each Remote Agent on this port. The agent listens on 7520.
Implication: Firewalls must allow outbound traffic from the AutoSys server to every agent machine on port 7520. If the port is blocked, agents show as INACTIVE and jobs stay PENDING.
Verification:
- From AutoSys server: telnet agent-host 7520
- In AutoSys: autoping -m agent-host
If autoping fails, check firewall rules and confirm the agent service is running on the remote host.
Q04 of 06SENIOR
How do you verify an AutoSys installation is working correctly?
ANSWER
Run this 5-step verification checklist:
1. chk_auto_up -A — Event Processor must show RUNNING
2. autoflags -a — Must connect to Event Server without errors, shows instance name
3. autorep -M % — Lists all registered agents. Each should show ACTIVE status
4. Test job on local server: Insert a simple CMD job (echo to log file). Force-start it. Verify SUCCESS and log file content.
5. Test job on remote agent: Same test, but set machine to a remote agent. Verify it runs.
Critical: Step 5 is where most installs fail. Testing on the server proves nothing about remote agents.
Clean up test jobs: echo 'delete_job: TEST_JOB' | jil
Q05 of 06SENIOR
What would you check first if AutoSys was freshly installed but jobs aren't running?
ANSWER
Prioritized checklist for a non-working install:
1. Check AUTOSERV: echo $AUTOSERV and autoflags -a. Are you connected to the instance you expect?
2. Check Event Processor: chk_auto_up -A. If not running, check log: tail -100 $AUTOUSER/out/event_demon.$AUTOSERV.
3. Check agent connectivity: autorep -M %. If agents show INACTIVE, test port: telnet agent-host 7520. Most common issue: firewall blocking port 7520.
4. Check a specific job: autorep -J JOBNAME -d. Look for status, last start time, exit code.
5. Check event_demon log: grep JOBNAME $AUTOUSER/out/event_demon.$AUTOSERV. Shows condition evaluation and trigger attempts.
90% of post-install issues are either: wrong AUTOSERV, Event Processor not started, or port 7520 blocked.
Q06 of 06SENIOR
How do you safely manage multiple AutoSys instances (DEV, QAT, PRD) on the same server?
ANSWER
Three-layer isolation strategy:
1. Separate OS service accounts
- autosys_dev, autosys_qat, autosys_prd
- Each account's .bash_profile sets AUTOSERV to its correct instance
- No shared accounts. No exceptions.
2. Instance in the prompt
``bash
export PS1='\u@\h:$AUTOSERV \w\$ '
`
Always visible. No 'oops, wrong window' mistakes.
3. Pre-flight verification in scripts
First line of any destructive JIL script:
`bash
autoflags -a | grep Instance
echo "You are about to modify $AUTOSERV. Type YES to continue"
read confirmation
``
4. Separate log directories
Each AUTOSERV uses its own $AUTOUSER path. Logs don't mix.
Common failure: Engineer logs into the PRD account, thinks they're in DEV because they're on the same server. The prompt shows the instance. If they ignore it, they're in trouble. Training and muscle memory are the only real preventatives.
01
What environment variables does AutoSys use and what does each control?
JUNIOR
02
What is the AUTOSERV variable in AutoSys?
JUNIOR
03
What port does the AutoSys Event Processor use to communicate with agents?
JUNIOR
04
How do you verify an AutoSys installation is working correctly?
SENIOR
05
What would you check first if AutoSys was freshly installed but jobs aren't running?
SENIOR
06
How do you safely manage multiple AutoSys instances (DEV, QAT, PRD) on the same server?
SENIOR
FAQ · 6 QUESTIONS
Frequently Asked Questions
01
What is AUTOSERV in AutoSys?
AUTOSERV is an environment variable that identifies the AutoSys instance name. It's used by all AutoSys commands to know which database instance to connect to. If you have DEV, QAT, and PRD instances, each will have a different AUTOSERV value.
Critical safety issue: There is no safety prompt. If AUTOSERV is wrong, you'll run commands against the wrong environment. Always verify with autoflags -a before destructive operations.
Was this helpful?
02
What port does AutoSys use?
The default port for AutoSys agent communication is 7520. This port must be open in firewalls between the AutoSys Event Processor (server) and every agent machine. If the port is blocked, agents show as INACTIVE and jobs stay PENDING forever.
The WCC web interface uses port 8080 (or 8443 for HTTPS) by default.
Was this helpful?
03
How do I check if AutoSys is running?
Two commands
chk_auto_up -A checks Event Processor status (RUNNING/STOPPED)
autoflags -a checks overall system status including Event Server connection
Both commands are available from the command line on the AutoSys server after sourcing the AutoSys environment variables.
Was this helpful?
04
Can AutoSys run on Linux?
Yes. AutoSys fully supports RHEL and CentOS Linux for both the server and agent components. It also supports Windows Server, AIX, and Solaris for agent machines. The Event Processor and Event Server typically run on Linux in production environments.
Was this helpful?
05
How many AutoSys instances can run on one server?
Multiple instances can run on the same physical or virtual server. Each instance has its own AUTOSERV identifier and its own database (Event Server). This is commonly used to have separate DEV, QAT, and PRD AutoSys environments on the same hardware.
Safety requirement: Use separate OS service accounts for each instance (autosys_dev, autosys_prd). Shared accounts inevitably lead to 'oops, wrong instance' incidents.
Was this helpful?
06
What's the first thing I should do after SSH'ing into an AutoSys server?
Run autoflags -a and verify AUTOSERV. This tells you exactly which instance you're connected to. Then check chk_auto_up -A to confirm the Event Processor is running.
This 5-second check prevents the most common mistake: thinking you're in DEV when you're actually in PRD. Put AUTOSERV in your prompt so you never forget.