Now you can Instantly Chat with Greg!
Unix, Linux, and Solaris Engineer, Shell Scripter, and Systems Administrator
I proactively manage, maintain, and monitor Unix, Linux, and Solaris systems.To automate tasks, including automating the monitoring of Unix, Linux and Solaris ser...Show More
Automate monitoring of Linux servers
The problem: The agency needed to monitor 150 remote Unix, Linux, and Solaris servers, and was depending upon people to occasionally, manually enter Unix commands. This was labor intensive, sporadic, and provides a text only representation of the Unix servers.
My solution: I wrote a 1,500 line shell script to proactively, and regularly monitor, and graphically display the status of the Unix, Linux, and Solaris servers. The shell script examines physical memory and disk space, and then automatically creates a web page that graphically displays, for memory and disks: the total capacity, the percent used, and the percent available. When an available resource falls below a user specified limit, then the script
1 changes the background color of the bar chart from green, first to yellow, then to red
2 outputs a text warning message describing the status of the limited resource
3 sends an email identifying the server and the limited resource
Below is an example, showing my use of the traffic light metaphor to graphically display the status of Unix, Linux, and Solaris system resources, as viewed with a web browser.
Used FFmpeg, GeoJPEG2000, GDALShow More Show Less
Syntax checking bash shell scripts
Linux Journal magazine
The problem: The monthly magazine Linux Journal (circulation 45,361) includes the three page column Work the Shell by Dave Taylor, the author of several books on writing shell scripts. While studying the October 2010 Work the Shell, I noticed an error in the code.
My solution: I sent an email to Taylor, noting the error, and suggesting a fix. Taylor replied, confirmed the error that I had reported in the published code, and said that I am the only person to report this error, and to offer a fix.
I use Python script beautify_bash.py to syntax check bash scripts.Show More Show Less
Wrote scripts to automate processing of 250,000 images
- Wrote shell scripts to manage the processing of 250,000 image files
The problem: The agency started a project to publish high resolution imagery of the 133 largest urban areas in the United States, with each urban area requiring thousands of images. The first urban area was done manually, with Photoshop, and took two months. This meant that the project would take 20 years to complete.
My solution: I divided the processing into computationally intensive tasks, and disk intensive tasks. First, I significantly improved the performance of the computer programs that perform the computationally intensive tasks. Second, I wrote several shell scripts to manage the many disk files. Third, I wrote a shell script to automate all of the processing for an urban area, by calling the computer programs, and the other shell scripts. There are no longer any manual steps. An urban area can now be processed, unattended, in two days, rather than two months.Show More Show Less
Automate compiling 1,600,000 lines of source code
Writing shell scripts to manage compiling 1,600,000 lines of source code
The problem: The 1,600,000 lines of code in the open source Geospatial Data Abstraction Library support images stored in 120 raster formats. The GDAL code was being updated daily by multiple contributors, but compiled binary executables were released to the user community only once a year.
My solution: I wrote a shell script that Unix, Linux, and Solaris users can run daily to automatically download the current GDAL source code, compile the code, build the binary executables, and then install these up to date executables, while still providing users access to their copy of the older, officially released executables.Show More Show Less