Help with writing Shell Script to automate process using multiple commands

 
Thread Tools Search this Thread
Top Forums Programming Open Source Help with writing Shell Script to automate process using multiple commands
# 1  
Old 06-02-2016
Help with writing Shell Script to automate process using multiple commands

Hello!

Need help to write a Linux script that can be run from windows using command/Cygwin/any other way. I am new to scripting, actually i am trying to automate server health check like free disk space, memory along with few services status, if any services is not running then start services , clear logs to resolve disk space issue. Script should store default user cgriffin with predefined password. fist check for 7 services then free disk space . If all services running then look for free disk space(if any service is not running then fnd out service whic is not running). Attached are commands thatw e manually run. Anybody who can help to automate this using shell script run using windows machine? Kindly help me
# 2  
Old 06-02-2016
First of all: Learn to Script

Above all I suggest you 2-3 tutorials in Shell-Scripting, so you get familiar with the necessary environment in order to be able to write the scripts, which are executing the necessary actions.

Here are some hints for an easy start:

Don't reinvent the wheel - use a monitoring system

My first thought is, that on every linux server that is managed this way a monitoring should be installed. This monitoring is configured for the relevant paramaters that your task needs. And if one the parameters is bad an action(e. g. a little script) should be executed, which fixes the situation.

Of course you do not need a monitoring system at all. You can script all the way through with your own scripts. But if you use a monitoring system it will be far more stable and feature rich than your own code, especially as you are now at the beginning to learn scripting.

The windows machine is of no use here - imho - because monitoring is nothing which must be started on demand. Monitoring is running always.

All major monitoring systems - by design big software packages to monitor many servers - can initiate custom actions on flexible defined failed checks. But those systems are very feature rich and so you need your time to get familiar with it and to learn how to use them. Pure Nagios is feared for its hell of config files.

Monit - a simple monitoring utility

A monitoring system which is far simpler than the other heavywheights is Monit and specially designed for simple monitoring and actions. I could imagine, that this would be the tool, that helps you most with your current task.

Check_MK

Personally I'm using check_mk - a full featured monitoring suite based on Nagios. I like it very much. And I recommend it if you have at least about 20-30 servers or more to monitor in detail - but of course "Server Monitoring" in whole is not your task. And of course I'm triggering a bunch of maintenance actions to fix various server problems.

Use an existing monitoring system?

Maybe your environment has already a monitoring suite( I suppose not ), which you can use to trigger the needed actions? Ask your colleagues!

Update-1

Maybe some simple cronjobs run once a day or once a week can help you too.

Last edited by stomp; 06-03-2016 at 12:12 PM..
This User Gave Thanks to stomp For This Post:
# 3  
Old 06-03-2016
I'm pretty sure that people participate in here "who can help to automate" although mayhap NOT with windows machines. Still I doubt they want to infer the bits and pieces from a rough and ready log of what is normally done manually.

Please take the trouble to prepare a correct specification, defining a (or multiple?) precise target(s), show the underlying basic data, structures, and OS/tools, possible restrictions, and your own ideas how to connect the two.
# 4  
Old 06-03-2016
First of all: Learn to Script

Hi Stomp, first of all i need to say is appreciate your quick reply.Than You.


Sure! I will try to use Monit and Check_MK both

We already have zabbix monitoring tool for all server in our datacenter, these servers what i am trying to automate health check are staging servers where our product will be tested before deploying to production environment, some time while testing Dev team may get errors due to stopped services, low disk space etc so that time they will contact IT to look into issue and resolve. For now we manually doing this Job as IT admin, i am trying to automate this work to make less effort to resolve the issue. These servers are in near 50-60 Cnetos 5.8 servers running squid, puppet for other our product testing reasons.

like i have wrote a powershell script, when i run script it prompts for server name (manually need to eneter) then it automatically display free disk space, CPU usage , memory usage ect in browser in some specific format. It reduces manually logging to server and checking everything one by one. Same way in need to do for linux server.

Anyway will try to implement Monit and Check_MK right away and let you know the result meanwhile after more explanation about my requirement if you have any other solution then please share with me.


Thanks
# 5  
Old 06-03-2016
Isn't it much easier to add them to zabbix and set a service outage or a special notification group?
# 6  
Old 06-03-2016
Yes. I recommend too to use zabbix. You may get help from your colleagues, which have already probably good knowledge handling it. Using zabbix now helps you to work with it with your production servers too. And at least no one would like to have the complexity multiple different monitoring systems if there's no need for it.

Maybe it's a good option to set up a zabbix instance for your own. So you do not kill the production monitoring system if configuration errors occur. If you get all up and running at your test site, you may migrate your rules from test to production monitoring system.
# 7  
Old 06-03-2016
OK will try to setup Zabbix, if i need help then will Reply to thread. Stomp or anyone else If good in zabbix then please help.

Thanks everyone for your suggestions!

---------- Post updated at 03:53 PM ---------- Previous update was at 03:02 PM ----------

Those staging servers are already available/configured in Zabbix server (CPU,Disks,Filesystem, Memory). But for services there is no configuration like squid, puppet etc also from zabbix alerts we will only come to know the problem then again we need to login to the server to fix the issue. What i am looking for is just login to server for which issue is reported and run a script that automatically check for 7 services status, if any one is down then prompt for restart, else next step check free disk space if space is less then there is command to check top 50 folders using space run that and see in that folder if any of 7 services logs folder are listed if yes then go to every logs run command delete it finally end the script. Is possible to write such script ? please help

---------- Post updated at 03:56 PM ---------- Previous update was at 03:53 PM ----------

please refer attached file for commands/services that we use to do logs cleanup(Automate Linux Commands)
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Script to automate recovery process

Hello All! First post... I am working on a script that is used to recover a crashed drive from an rsync backup. I'm down to the place where I need to create all of the directories in /mnt where I will then mount each of the volumes and begin the restore process to each volume... I have... (3 Replies)
Discussion started by: RogerBaran
3 Replies

2. Shell Programming and Scripting

How to catch errors in a shell script ( multiple commands )?

Hi I have a shell script like that Main() { DAY=$(date +"%d-%m-%Y") TIME=$(date +"%T") Command 1 Command 2 ... Command n } I would like to catch errors from all commands in Main() and write these errors into a file , something likes this: Main if < error > then echo... (3 Replies)
Discussion started by: bobochacha29
3 Replies

3. UNIX for Dummies Questions & Answers

Automate sftp process using script

Hi, guys, I am trying to automate a sftp process using "expect" method (since the key authentication method is disabled in my company network, there is no helping it). In order to try, I type in the command manually: sftp @ > << EOF >cd >ls -l >EOF >Connecting to @servername password: ... (3 Replies)
Discussion started by: warmboy610
3 Replies

4. Shell Programming and Scripting

Automate multiple commands

Hi, I am trying to count the number of times a string of letters occurs in a file for multiple unique strings of letters. Right now I can do this one at a time using the following code (in this example I am searching for the string "AAA"): echo AAA >> outfile.txt grep -c "AAA" -r... (4 Replies)
Discussion started by: gecko1
4 Replies

5. Shell Programming and Scripting

Need help in creating a shell script to automate svnstats process

Hi, I am trying to create a shell script to automate the following process of getting svn stats:- Step1:- cd to checkout location. Note that the checked code have multiple modules in respective folders Step2:- Execute this command inside each module:- svn log -v --xml >... (0 Replies)
Discussion started by: d8011
0 Replies

6. UNIX for Dummies Questions & Answers

Writing a loop to process multiple input files by a shell script

I have multiple input files that I want to manipulate using a shell script. The files are called 250.1 through 250.1000 but I only want the script to manipulate 250.300 through 250.1000. Before I was using the following script to manipulate the text files: for i in 250.*; do || awk... (4 Replies)
Discussion started by: evelibertine
4 Replies

7. Shell Programming and Scripting

writing a shell script of commands

Can anyone help me out in visualizing on what is the logic behind simple unix commands. For Eg: ls command lists files and directories, how it displays I need to know the source code for commands like this. (1 Reply)
Discussion started by: rahul_11d
1 Replies

8. Shell Programming and Scripting

writing shell scripts of commands

can anyone help me in writing a shell script to visualize how simple commands work and on what logic. For Eg: ls command how it lists out all the files and directories, need to write a simple script based on the commands source code.:D (0 Replies)
Discussion started by: rahul_11d
0 Replies

9. UNIX for Advanced & Expert Users

Automate Script using pkgrm/pkgadd commands

This is my first post so hello to all of you! I have a script in bash-3.00 that needs to execute the following: pkgrm (to remove an existing package) pkgadd -d ( to install a new package) The problem is that both commands prompt me to answer either y,n or q in order to proceed with... (13 Replies)
Discussion started by: Insight
13 Replies

10. Shell Programming and Scripting

Shell script to call multiple java commands

Hi, I want to call multiple java commands through a .sh file. I have drafted one with my least knowledge. But its not working. Pls help. I am trying to run this from Sun Solaris (OS 5.10) server with 10g oracle database. echo \* starting script AUTORUN echo \* get the Monitor path... (4 Replies)
Discussion started by: vivekdn
4 Replies
Login or Register to Ask a Question