Objectives of this post:
To create a client software that can run in any platform. <client>
To pull list of commands and execute them and send back the results. (client-server way)
The software must be be running with JRE 1.5,1.6 and gnu JRE.
The code must be written and optimized to utilize very small amount of memory and CPU.
the binary must be one single file to make to distribute it.
The required java code will be used in a new open source project **(so kindly be nice with the price and I will add your name and site in the credit for the code)** that will serve system administrators and all data centers workers.
The project it self will be designed in php (web-based) but there will be a small java agent need to run in each server in the data center
This post is to request an offer from the bidder whom want to work in developing the agent.
The agent is very simple and doesn't require much coding.
It will be basically running manually using command line and once its started it will be doing the following steps:
1. Check there is no other instance of the program running (otherwise exit).
2. Read the settings from a properties file.
3. Check if we have a UUID (saved in the properties file) and if no UUID
A. Generate a UUID
B. Save it In the properties file
C. Submit the host name and the UUID to a URL saved (HTTP POST and the URL it read it from the properties file).
4. Connect to a URL and sending the UUID (HTTP GET and also URL from the properties file)
5. With the connect the program will receive a text with list of lines, each line will represent an action the program must do it, the line format will be like the following
Action ID | Action Key | action type | action data.....(data can include also |)
( as you can see the splitter is “|” )
The software then will read each line and based in the "action type" it will do some action.
"action type" will be on of the following:
Action Type Meaning
exec Execute the command in "action data" (time out if the command takes more than 10 minutes and just don’t report the result to the server)
pull Download the file "action data" to a directory (from properties file)
push Upload the file "action data" to a server (from properties file), the file can be a directory or many files with *
pullexec download file from "action data" and execute it (time out if the command takes more than 10 minutes and just don’t report the result to the server)
version get the java software version
[url removed, login to view] get the The version of Java Runtime Environment
[url removed, login to view] get the The name of Java Runtime Environment vendor
[url removed, login to view] get the The directory of Java installation
[url removed, login to view] get the The path of temp file
[url removed, login to view] The name of OS name
[url removed, login to view] The OS architecture
[url removed, login to view] The name of account name user
[url removed, login to view] The home directory of user
[url removed, login to view] The current working directory of the user
6. After running the action the software will save all the output in 2 files one for stdout and the other for stderr
7. The software will submit it (HTTP POST) among with Action ID and Action Key to a server (again URL from properties file)
8. Then it will exit
Some people are offering to do it with SSH, this is NOT what I want
If you read the requirement you will see I'm talking about connections. Using http
I don't want live http during all the time, i just want the agent simply to
1. Conect and get list of actions (commands) and disconnect
2. Go through the actions and do them.
3. Return or upload the actions output
16 freelancers are bidding on average $206 for this job
Allready having such project. so there is no problem with us for your project. To get project on time and with quality work i expect you will assign this task to us. Regards