We are getting some user complaining about component being unpublished from the website. I have check the publishing queue and didn't find any unpublishing jobs for those component. Is it possible the system can unpublish the component for some reason? Has anybody else seen similar issue?
Frank van Puffelen described how binaries are handled in delivery in his Binary Event Tracker extension.
Basically delivery counts how an image (or binary such as a PDF) is referenced in delivery across presentations. When the items using the image are no longer on the site (or have been updated to no longer reference the image and republished), delivery will remove these items.
To avoid having these binaries from being removed in delivery, you could use a (dynamic) Component Template to explicitly publish them.
Side note: I often see binaries referenced directly by organizations sending links to documentation. In this case, it might be a good practice to reference pages that link to the PDFs. The PDFs wouldn't be automatically unpublished and with a given webpage, you could update the content and files without impacting the shared url.
Edit: noted that you could also remove a reference by republishing.
Q: Is it possible the system can unpublish the Component for some reason?
A: No not by itself, but there could be event handlers which take care of this.
However in that case you should see the unpublish transaction in the Publish Queue (take a look at all users).
Q: Is it possible to delete an unpublish action after it is done?
A: Yes it is, so you can cover your tracks in that sense.
But when you are talking about a Component being unpublished, is it a Dynamic Component Presentation we are talking about? Or are you referring to a Component Presentation on a Page that is missing? In the last case there could be multiple answers to the question why is has "dissapeared". You should define your question in a bit more detail to get a more detailed answer.
Q: Has anybody else seen similar issue?
A: I've heared similair issues before, and there was always a good explanation as to what happened.
I don't know if this is related to your problem, but we ran into a something similar a year or two ago.
We kept finding binaries were dissappearing from the file system for no readily apparent reason and eventually tracked the problem down to binaries that had been published in two different ways by mistake. We have binaries (in this case images) that are used inline within content and placed there by our content editors - this uses the normal PublishBinary method. We also have images that we, as IT, use that are attached to a page and published using the AddBinary method.
What we found was some of the image components that IT were using had also been use by our content editors inline (we, IT, hadn't stored them in the correct, restricted, place within Tridion). What this meant was that when the content editors published their pages that used the (shared) images the version used by IT was unpublished. When we (IT) noticed this and couldn't see why, we just republished the IT pages and the image returned... but was then unpublished from the pages the content editors had created. This went on for a few iterations, each department blaming the other!!
When we realised the images in question had mistakenly been used by the content editors we created a copy for them to use and moved our copy into the correct restricted area in Tridion and all has been well since. It had never occured to us that Tridion wouldn't allow images (or any binary) to be published via both methods at once because we had never shared our images, but it does make sense: PublishBinary will alwys publish the binary to the location specified in the publication config (eg. /images) with the tcmID suffixed, where as AddBinary will publish the image with its filename unchanged to the location of the page with the AddBinary command.
Hope that helps.