This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
exchange:reporting:reporting_project [2010/03/06 05:47] ben |
exchange:reporting:reporting_project [2010/04/28 05:29] (current) ben |
||
---|---|---|---|
Line 18: | Line 18: | ||
Most important next step is cleanup of code and organizing it so it's easy for someone else to use. Blech. | Most important next step is cleanup of code and organizing it so it's easy for someone else to use. Blech. | ||
- | + | ====== The Setup ====== | |
- | ====== The works ====== | + | |
===== Database ===== | ===== Database ===== | ||
Line 80: | Line 79: | ||
File transfer assumes Central users mount on SSHd enabled system. | File transfer assumes Central users mount on SSHd enabled system. | ||
- | exchange/batch/[[transfer.sh]] initiates recursive SSH copy job of users\b\ben\exchange\* with public-key authentication. | + | exchange/batch/transfer.sh initiates recursive SSH copy job of users\b\ben\exchange\* with public-key authentication. |
Files are copied to exchange/txt. | Files are copied to exchange/txt. | ||
Line 86: | Line 85: | ||
Once the file transfer is complete, batch processing is initiated via runExchangeReporting.sh in the root of the exchange directory. The job runs each of the script files in the exchange/batch directory. | Once the file transfer is complete, batch processing is initiated via runExchangeReporting.sh in the root of the exchange directory. The job runs each of the script files in the exchange/batch directory. | ||
- | **[[exchange:reporting:initial_batch_scripts|Initial Bash Script Code]]** | + | This process is being moved to Perl. Here's the [[exchange:reporting:initial_batch_scripts|old/initial bash script code]]- a total mess, functional to a degree, but impossible to maintain. |
- | + | ||
- | This process is being moved to Perl. | + | |
- | + | ||
- | Script files at this point: | + | |
- | <code> | + | |
- | load_db.sh* | + | |
- | parse_allExchange.pl* | + | |
- | parse_allExchange_uni.pl* | + | |
- | parse_bes.pl* | + | |
- | parse_disabled.pl* | + | |
- | parse_id.pl* | + | |
- | parse_lastExchangeLogon.pl* | + | |
- | parse_lastLogon.pl* | + | |
- | parse_mailboxes.pl* | + | |
- | parse_ou.pl* | + | |
- | parse_quota.pl* | + | |
- | parse_samid.pl* | + | |
- | prepare_db.sh* | + | |
- | sort_files.pl* | + | |
- | transfer.sh* | + | |
- | unicode.pl* | + | |
- | + | ||
- | </code> | + | |
Top-level script: [[runExchangeReporting.sh]] | Top-level script: [[runExchangeReporting.sh]] | ||
- | |^Script |^Output File |^Description | | + | |^Script |^Description | |
- | |[[parse_allExchange.pl]] ||id_exchange.txt ||UPN/logon ID for all Exchange users | | + | |parse_allExchange.pl ||dname,cname,displayName,legacyExchangeDN | |
- | |[[parse_allExchange_uni.pl]] ||samid_exchange.txt ||SAM ID for all Exchange users | | + | |parse_allExchange_uni.pl ||a test of unicode format | |
- | |[[parse_bes.pl]] ||disabled_exchange.txt ||All Exchange users with disabled AD account | | + | |parse_bes.pl ||set bes to '1' where legacyDN= | |
- | |[[parse_disabled.pl]] || lastlogon_exchange.txt ||Last AD logon time (64-bit 100ns since 1/1/1601 format) | | + | |parse_disabled.pl ||set disabled to '1' where DN= | |
- | |[[parse_id.pl]]||all_exchange_mdb.txt ||Home Mailbox Database for all Exchange users | | + | |parse_id.pl ||set logon ID where DN= | |
- | |[[parse_lastExchangeLogon.pl]] ||specified on command line, mailbox_sizes.txt || Size&Server info for all Exchange users | | + | |parse_lastExchangeLogon.pl || | |
- | |[[parse_lastLogon.pl]] || std_out, should pipe to besusers.txt || Server is hardcoded right now, need to fix this one up || | + | |parse_lastLogon.pl || | |
- | |[[parse_mailboxes.pl]] ||- ||Kicks off all the other scripts | | + | |parse_mailboxes.pl || | |
- | |[[parse_ou.pl]] ||- ||Kicks off all the other scripts | | + | |parse_ou.pl || | |
- | |[[parse_quota.pl]] ||- ||Kicks off all the other scripts | | + | |parse_quota.pl || | |
- | |[[parse_samid.pl]] ||- ||Kicks off all the other scripts | | + | |parse_samid.pl || | |
- | |[[sort_files.pl]] ||- ||Kicks off all the other scripts | | + | |sort_files.pl || | |
- | |[[unicode.pl]] ||- ||Kicks off all the other scripts | | + | |unicode.pl || | |
===== Database Refresh ===== | ===== Database Refresh ===== | ||
Line 132: | Line 108: | ||
Database refresh consists of two scripts: | Database refresh consists of two scripts: | ||
- | [[prepare_db.sh]]: This script drops the exchange_info table, and then re-creates it. | + | prepare_db.sh: This script drops the exchange_info table, and then re-creates it. |
- | [[load_db.sh]]: This script runs executes all of the batch_sql/*.sql scripts in mysql5, thereby importing all of the data. | + | load_db.sh: This script runs executes all of the batch_sql/*.sql scripts in mysql5, thereby importing all of the data. |
- | ===== Useful Database Queries ===== | + | ====== Useful Database Queries ====== |
Some very useful reporting queries are on the **[[exchange:reporting_project:database_queries|Useful Queries]]** page. | Some very useful reporting queries are on the **[[exchange:reporting_project:database_queries|Useful Queries]]** page. | ||
+ | ====== OpenRPT Notes ====== | ||
+ | To allow OpenRPT to save reports to the database: | ||
+ | <code> | ||
+ | create table report ( report_id serial primary key, report_name text, report_descrip text, report_grade integer not null, report_source text ); | ||
+ | </code> | ||
+ | |||
+ | Also need to check out: | ||
+ | |||
+ | http://www.eclipse.org/birt/phoenix/intro/ | ||
+ | |||
+ | http://oreports.com/ | ||
+ | |||
+ | http://www.pentaho.com/ | ||
+ | |||
+ | http://www.jaspersoft.com/ - http://jasperforge.org/ | ||
+ | |||
+ | Setup for datavision - copy mysql connector J .jar file into lib directory, setup connection like: | ||
+ | |||
+ | {{:exchange:reporting:datavision_connection_info.png|}} | ||
+ |