Write a scripts to kill idle user for 60 min. & email user list to admin in text file
Folks,
I have written one script for following condition by referring some of online post in this forum. Please correct it if I'm missing something in it. (OS: AIX 5.3)
List the idle user. (I used whoidle command to list first 15 user and get username, idle time, pid and login time). Any other suggestion to get all the user at once including above things?
Exclude few users from list (system user and admin user)
Calculate idle time(if user is more than 60 min idle)
Make entry of that user in log file (If possible I want to create text file)
Email log file to admin
Sleep for 5 min. after emailing total list of user to admin
Kill the users in list
Loop it to reach next 15 users. (If possible I want to get rid of this condition by following all idle user list command with pid's)
I need to put this code in production as soon as possible.
Expert please throw some light on it.
Thanks in advance.
Sumit
To address the 5th point of your steps, just use the mail utility if you have it installed on your system. Check its man page for detail.
As far as the 8th point, I would approach it in the following manner;
Outside the loop do this:
Inside the loop to the following:
The last block of code needs to be within a loop for it to work appropriately. This should work fine, but if you have problems let me know. I have not tested it because I have no access to an AIX server.
By the way, the points that you have already taken care of can be improved to be more efficient...
sumit30,
if I was you, based on the output of 'whoidle', I would probably lunch it with the option to get all the idle users in the system and save it to a file within the same directory with the script. supposing the option is '-a', it would something like this: 'whoidle -a' >ALL_IDLE_USERS
this code has not been tested on an AIX system. I tested it on my laptop using the sample data you supplied and it's working like a charm.
this is an elegant way of resolving your problem without the need for any complications: such as the 8th point.
in my opinion 8th point isn't necessary. thus, the code that I supplied to you the other time isn't needed because you are not dealing with a file or a variable that must continue growing.
for instance, if you were picking the idle users from a certain system-log-file which must continue growing as the system is running and logging various events, then you would need to have a way to loop through that file as long as it continues to increase. but your problem is much simple based on what I perceive from your explanation.
as far as I know, the technique that intend to use on point 8 is normally used to monitor specific regexs in a log-files.
NEXT TIME, I'M GONNA CHARGE YOU A FEE OR SOMETHING! lol; I am at home for over a year. I need to get paid....
Last edited by DukeNuke2; 04-03-2011 at 03:09 AM..
Dear All,
It would be really nice, if you could help me to write a script for deletion of list of user( more than 15000 users) stored in a file and sorted by email address( i need deletion of only a particular type of mail address).
Is the any script to write and take the file as input and... (3 Replies)
Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted!
1. The problem statement, all variables and given/known data:
Write a script called user.sh that parses the name and password of given in a file (user.txt) and creates the user... (1 Reply)
hi,
i am new in unix.......i am using bash and i want to create a user which has only some command and scripts permission.........is it possible?
thanx (1 Reply)
Can anyone create or give me a script that I can use to email a user automatically when I kill one of their processes?
Or
Can you give me a script to allow me to email a user (entering email manually) when a process is killed? Like showing what the PID was and a reason the admin killed it? Is... (2 Replies)
Hello..
I have many sleepy users on my Solaris box and need to kill them if they are idle for more than 45 minutes for example...I know who -u gives and the idle time but unable to make a awk line to get the condition perfect. Please help...:wall: (9 Replies)
Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted!
1. The problem statement, all variables and given/known data:
(o) Checkout an auto part: should prompt the user for the name of the auto part
and borrower's name:
Name:... (2 Replies)
Hi
I am using mailx to send email and am wondering if there is a way I can send the email from a different user than the user logged in.
something like do-not-reply@xyz.com
Thank you. (1 Reply)
folks;
I created a new users on my SUSE box and i need to give this user/group a read write access to one specific folder. here's the details:
- I created new user "funny" under group "users".
- I need to give this user "funny" a read/write access to another directory that is owned by "root".... (3 Replies)