EXODUS Knowledge
TMUX Screens
To create the EXODUS maintenance/programming environment
exodus#: ./tmux.exodus
SCREEN NAME STANDARD PATH PURPOSE #ex1_root - /root - general usage #exodus - /root/exodus - #exodus src - /root/exodus/exodus/libexodus/exodus - LibExodus is the core EXODUS library source files (emulating AREV CRUD) #exo cli - /root/exodus/cli/src - Core EXODUS program which can be executed from bash (clearfile, edir, edic, compile) #service - /root/exodus/service - Default working environment for EXODUS only service, including EXODUS core www and data directories. Also used to keep NEOSYS database installation scripts. #ser src - /root/exodus/service/src - #neosys - /root/neosys - ./doall #neo src - /root/neosys/src - #hosts - /root/hosts - #test src - /root/exodus/test/src - #t10 - ~/ - #t11 - ~/ - #t12 - ~/ -
Object Code/Libraries
LIVE and TEST processes use different sets of object code. TEST processes use libraries in ~/lib/, whereas LIVE processes use object code in ~/neo/lib
This means development & testing can be done stress free on TEST database, as opposed to testing on production databases.
When compiling using edic, the TEST object code is updated if the compilation is successful. (~/lib) In order to apply a tested patch to LIVE see Update LIVE programs.
Dictionaries
Dictionaries, the files used to describe the fields of a file's record. Unlike in AREV, there is a copy of all dictionaries in each pgsql database (In AREV, updating a dictionary would affect all the databases).
Processes
The TEST process for all database use the same object code stored in /root/lib, whereas all LIVE process use the object code in /root/neo/.
Postgres
Connect into postgres shell:
sudo -u postgres psql
List databases once in postgres shell:
\l
Delete a database:
sudo -u postgres dropdb <dbcode>
./doall
General
Screen 6: ./doall script contains all the necessary information(codes) to setup an installation. It includes scripts to backup, restore, create an Apache site, create/start/stop/status a service, import an AREV database into postgres and more.
backup_db
- Does a backup & restore of a LIVE database into the corresponding TEST database.
- Backup <dbcode>.sql file is written to /root/backups/sql; which is rsynced to nl19:/backups/current/exodus/
- Unlike AREV, postgres can perform a "backup" of a database whilst the system is in use.
Converting AREV to EXODUS
DECOMPILE AREV to C++
(Do in win10a Maintenance mode)
- Apply tested patch to win10a (master AREV Dev system)
- ATTACH ADECOMC
- ADECOM <programname> *single program
- ADECOMALL *all programs (CHECK THIS FIRST)
- ADECOM <prog1> <prog2> *(CHECK IF THIS WORKS)
SEND CPP FILES from win10a to nl19
(Do in win10a Cygwin)
- /d/exodus/arev/syncup.sh
GET CPP FILES from nl19 to exodus
(Do in Exodus system)
- If cpp in SYS then: ~/exodus/service/src ./getpickos
- If cpp in MED JOB FIN GEN AGY then: *~/neosys/src ./getpickos
- Compile single cpp then: c <programname> e.g "c monitor2"
- Compile all cpp then: ./compall (PENDING WHICH/WHERE? many compall)
INSTALLING INTO TEST SYSTEM
- ./test <DBNAME>
- ~/neosys ./doall TEST <DBNAME> restart #to get one service to start start using the new lib files
- ~/neosys ./doall TEST all restart #to get all the services to start start using the new lib files
INSTALL INTO LIVE SYSTEM
WARNING
- ~/exodus/service/ ./copyall #to copy all the ~/lib and bin files to ~/live/lib and bin ... which is used by all exodus/live services
- ~/neosys ./doall LIVE all restart