Project ID:
703252
Project Type:
Fixed
Budget:
$30-$250 USD
Project Description:
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.
More details:
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).
D. Exit.
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
java.version get the The version of Java Runtime Environment
java.vendor get the The name of Java Runtime Environment vendor
java.home get the The directory of Java installation
java.io.tmpdir get the The path of temp file
os.name The name of OS name
os.arch The OS architecture
user.name The name of account name user
user.home The home directory of user
user.dir 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
Additional Project Description:
06/05/2010 at 3:28 EDT:
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
Skills required:
J2EE,
Java