I'm taking a class right now and need ideas for a project. The scope is relatively vague: "Create a 'mash-up' program that combines system administration functions into a single application." I would say my skills working in bash are between average and slightly above average. I was originally thinking about doing some sort of backup script that worked over ftp but realized it might be to easy. I'm open to any and all suggestions. 
Hi,
You could try a captive .profile for the root user with say a dozen or so commonly used root functions. I have done this in the past for a system on a customer site although it was a long time ago now - circa 1992.
The functions should probably include;
- A Shell for the root user (hiden in my script)
- A backup a single user option.
- A restore a single user - force it to take a backup first.
- A shutdown option.
- A trap routine that stops Ctrl C, Z and any others
- A routine to check disks
- A function to check rocesses
The .profile I used also cleared the screen and formatted the with bold and inverse etc, it was written for a DG412 terminal.
I think I had a total of 18 menu choices.
Regards
dave
I would add some of the more common day-to-day operations:
- Reset a user's password.
- Display all print queues which have something queued.
- Remove an item from a print queue.
- Display mail queue.
- Remove item from mail queue.
- Snapshot of current system performance.
- History of recent system performance.
- Show number of users on the system.
- Show who is on the system complete with IP address.
- Display disc free space compared with set warning limits.
- Read system logs (filtering anything normal). Including hardware logs. Including cron log.
- Read root mail. (I archive the mailbox at 12:00 each weekday to make this manageable and ensure that all cron jobs silent unless they fail). Never send the output from a cron job to /dev/null - one day you will want to read it.
- Emergency find of abnormal large file(s) in the event of a disc space crisis. (Can take hours to write because you need to be able to exclude anything normal). This script could save you because you can be quick by being prepared for the inevitable. It is inevitable that you will encounter a rogue program which will attempt to fill a filesystem.
For the day-to-day server checks I get each system to mail me (and other support staff) with a concise summary of all the services (UP/DOWN) backed with full detail in the event of an actual problem. The fundamental check that the hardware map is the same as yesterday is the most important