I have not seen how to search this wiki, so I’ll just ask and see what happens.
When I ‘Add Files to Site’ and select ‘Send to clients’ it generally works.
There doesn’t seem to be any way to know the files were delivered
If a file doesn’t make it to a client, is there a way to force it, short of re-adding and have it sent again to all clients?
Thanks
Search using the second icon from left on top right of the forum.
Have you encountered this problem ?
AFAIK the file is part of the site content so when the agent gathers the site the file is part of that gather.
What files are you sending to the client using the ‘Add Files to Site’ option? In general this is a very bad idea and should not be done unless the files are VERY small and being used for very specific purposes.
What do the icons look like? I see a small blue circle with a 1 in it, and a larger green circle with an S in it.
Yes, I have encountered this. I have that very issue right now. One server did not receive the files I added last night. I’d like it to have them. I only know because I wrote a quick Task to go look in the __BESData directory and the files are not there.
By default the gather should only happen once every 24 hours unless the client gets a UDP notification from it’s relay telling it that there is a new version of the site to gather, or if the client does a command poll, which is not enabled by default.
Thank you for the links, but they don’t really help. I don’t need an API at this point. I’m willing to manually select the files to upload. The problems are that there doesn’t seem to be any way to know they made it, and once the send to client effort ends, there doesn’t seem to be a way to force the clients to receive.
That a file doesn’t arrive is the issue. What it’s for is irrelevant to my question, but certainly worth discussion as a side-bar conversation. I’m willing to take the spike in network traffic. Our pipes are fairly good sized.
I have a need to distribute hundreds of small files to a large list of (300+) servers. I’d been doing this via complicated scripts using scp, but firewalls and password issues, along with ever changing environment made this a major headache that took 5 hours or more with lots of baby-sitting and hand-holding.
I was introduced to TEM (ok IEM) as a possible solution. It has access to ALL our servers and can send files.
Instead of sending hundreds of files individually, I put them into a tar file and send just that. In one isolated setup with hundreds of servers, this file transfer completes in under 5 minutes, every time.
In another more complicated environment with multiple relays, a similar number of servers make take 30 minutes or more to complete, but very often, some servers simply to not get the file. Then I’m left with the question of how to get those servers to have the tar file.
Once the file is there, I simply run a task which untars the file and Voila! Hundreds of small files put in place where I need them with a couple small jobs.
The only part which is failing is knowing the file is there, and forcing it to be everywhere it needs to be.
Sounds like you’re doing a form of content or software distribution.
You should both distribute and unpack these using an IEM (BigFix) fixlet/task.
With the task you have full control of what computers get the files, when they get sent, progress reporting and you have inbuilt capability to test that its completed properly.
I wasn’t sending you those links to point you to an API way to do this. I was pointing you to those links because they explain why it is a bad idea to use the “Add files to site” mechanism in most cases. Those links are related and useful, even if they don’t solve your current issue.
As @gearoid mentions, you should be using an action with a prefetch to send this TAR file to the servers, and this will do exactly what you are asking for.
Use a “Prefetch” statement in the actionscript of the Task/Fixlet to download the TAR file onto the remote systems, and then use a command to unpack it wherever you want those files to live on the system. You can write relevance to detect if those files are missing or out of data so that the action only runs on the servers that are missing the files and so that the Task/Fixlet becomes non-relevant on systems which have the files, confirming that they have been updated successfully. Assuming all of your servers get the UDP notifications from their parent relay telling them there is a new action to process, then this whole process should take about 60 seconds total, probably 10 minutes max. If they do not get the UDP notifications, then it will happen on their next polling or gather interval. (command polling is not enabled by default, and the default gather interval is 24 hours, which is why I recommend all clients have a polling interval of at least once every 6 hours, though servers should have no issues getting UDP notifications if they are configured properly.)
I’ll see if I can find a good/related example to share.
Thank you both for the information. I will adjust my approach to use the tool more like it was intended to be used. I’ll watch the video now.
Also, What do the icons look like? I don’t seem to have whatever it is you are referring to. I have a screen snip, but don’t know how to post it. I feel like such a n00b.
The video is showing a full software distribution capability. Your use case looks pretty straight forward but the video illustrates the concepts. If you have the software distribution application in your environment you should try it out and see does it do what you need.
Picture of the icons attached, search is highlighted - I’m using Safari but same works in Firefox and Chrome.
Upload files using the icon next to the </> in the editing window.
Don’t get caught up in the fact that this “installs” software. If you stop short of the last line of the actionscript, and choose to unzip the file to a different location, then this really does what you need… though the last relevance statement would need to be changed to check for non-existance of the files your unpacking.
Obviously this is a Windows example, but the concept applies to any OS.
Those icons do not appear on my IE screen anywhere. Nor does the upload icon. Also, youtube is blocked at work. All of it. Ah, the wonders of filtered internet. Luckily my iphone can get there so I can at least view the video that way. Thanks for your help!