Hello Everyone, we are using bigfix to download and run scripts on almost daily basics and I am trying to figure out how to create a task that will download a file from the Bigfix Server to a client if and only if the file stored in the bigfix server has a different size.
anyone knows what is the best way to compare the two files on the fly to check if the size is the same?
If the file is small enough (less than 1MB at most I’d say), you can attach it as a Site File with the ‘send to clients’ option.
Otherwise, your problem is that the client can’t tell whether the file has changed until you download the file to check.
If the file is large, you could search this forum and the documentation for ‘manifest file’. The idea is to have the server generate a manifest file, which would contain a list of file names, urls, sizes, sha1, and sha256 values. You regenerate the manifest when the files change, and attach the manifest as a site file. Then in your client action you parse the manifest files and base your download logic on the results.
Hello and thank you for the help…yes I want to:
hold the size value of the file in the bigfix repository
check the size and the name of the file in the server
if the values are the same, execute the action
if any of the the values are not the same, download the file and execute the action
Hello Jason and thank you, the files are not big (between 75 - 300 KB)
the challenge here is that the action has to be completed in 6 minutes or less and that is why I am trying to make sure that if possible no download is trigger as with the poll command down to 3 minutes I cannot afford more time to the download but only to the action itself?
Now the chance of the file being different is about 10% but I am not sure I can afford running the action just assuming the file is the same.
I don’t think the “six minutes or less” is reasonable at all, and you’re probably only going to frustrate yourself trying to meet it.
That’s not a BigFix limitation, but something common to all management tools. You aren’t going to get guaranteed application of a change or file distribution throughout a system in that time with Group Policy, SCCM, BigFix, or likely any other tool. Probably not with Google Drive Sync either, and that’s a very fine file distribution tool. For good reason - if you are constantly checking for / downloading this file, you’ll likely overwhelm your bandwidth.
If you’re trying to emulate a file share, then emulate a file share, host the file on a web server, put it in a svn/git repo, whatever, and just download it every time you’re going to use it.
I understand where you coming from, in our case we are migrating from Tivoli Provisioning Manager which using a workflow with fixlets included was capable of doing the job in 4 minutes or less for about 72 servers. Now I am just trying to avoid someone using the “wrong” file and that is why I would like the ability to compare the filesize on the fly…at this point with out the checking of the file size and only checking if the file exist and with the polling command down to 3 minutes, the tasks runs in about 5 minutes.
Thank you very much for your continuous help and comments Jason.
An alternative would be to execute a script to go outside the Bigfix relay structure using wget, curl, powershell, etc. The nice part about that is you can dynamically use relevance substitution to create those scripts with variables to suit the needs of your situation. Then you can have Bigfix execute the script to do the download. If you keep a local history of the files, you could use Bigfix to inspect and compare them before consuming them.
This method does work, but is outside IBM’s supported architecture. It does have some risks in that files could corrupt or tampered with.