It is a way to take inventory of many cgi scripts and web applications in a Software Service environment. It will be a way of creating changelogs and to keep track of which customers have which programs and will use diff and cksum to notice, compare and identify versions.

It "takes inventory", but we actually have inventory systems for non software companies (distributors, etc). So I would prefer not to have confusing names.

Edit: We do not use a code repository. So this is not as much for compromised file checking (although it is pretty cool that will be covered), but it is really more as a replacement for a repository and as a way to keep track of which customers have what products to make sure we don't get out of sync with billing. We actually make most of our modifications live. Since these are not public systems, it does not matter that much. If it is public, we either create copies of the program or we run the program on a PC and then test it and then upload it to be live.

closed as primarily opinion-based by durron597, user40980, user22815, Dan Pichelman, GlenH7 Jul 29 '15 at 23:54

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 5
    I think what you are describing would typically be called "A Disaster". Seriously, get proper tools for the job; get version control. – whatsisname Apr 13 '11 at 3:32
  • @whatsisname: We have been doing quite well with out one since before Windows 98 was released. We typically write any tools we want on our own so they do it the way we want (what we are doing now). A repository is overkill. Sorry. – Bryan Field Apr 13 '11 at 12:15
  • 1
    A repository is overkill? I could possibly understand if you had said that a repository somehow wouldn't give you everything you needed, but that "overkill" statement sets off several alarm bells in my head. I cannot possibly believe that the 15 minutes it would take to deploy a svn or other repository is any more complex or time-consuming than hand-rolling it all... – Aaronaught Apr 14 '11 at 23:03
  • 3
    "Integrating with other softwares is not what we do" - OK, I'm getting the message. This seems to be a pretty clear-cut case of NIH. – Aaronaught Apr 14 '11 at 23:13
  • 1
    I would say I don't believe you. I haven't seen anything here that is not trivially solved with a revision control system. But I'm not here to convince you otherwise, so good luck! – Dean Harding Apr 14 '11 at 23:42

Generally these things are referred to as "file integrity scanners" (You'll also see "file integrity checker" but that doesn't sound as cool.)

They're most commonly used in systems administration, because they make it extremely easy to track changes in servers that have been compromised by viruses or crackers. Obviously, over here in programmer land, you can just do a diff on the current version of your code in a repo, so that's not as big a concern for us.

  • That is the other thing, we don't use a repo system. See my edit. .. Also I don't even think I would use "File Integrity System" over "Inventory System" :) – Bryan Field Apr 12 '11 at 23:22
  • 2
    @george: Well, at least on the admin side, that's what you're talking about is called. And you need to use a repo. Seriously. This is an extremely cumbersome method that won't tell you anything other than that the file is somehow different from the last version. Code repositories are astoundingly useful. – Satanicpuppy Apr 13 '11 at 1:31
  • We use snapshots and diff to tell what is different. Since our systems are so fluid and we have so many individual parts, it is probably a little more difficult than usual to use a repo, also we spent all this time building a business without one which does not help. But we have never needed one. We just look at the snapshots if we want historical data. – Bryan Field Apr 13 '11 at 12:08
  • 1
    @GeorgeBailey: That's what the repository is for. It is the snap shot. We've never used it before is not a valid argument for why you shouldn't do something. – unholysampler Apr 14 '11 at 22:29
  • @unholysampler: We use snapshots instead. I guess we might have profited from using a repository day one. Anyway, using a repository would not eliminate our requirement for the inventory system we are writing. – Bryan Field Apr 14 '11 at 23:08

Scheduled System Configuration Audit

It seems you have established an interval or periodic conditions by using cron for executing your task. I would call it a task schedule, or simply a 'schedule'.

Each client host will presumably have a slightly unique environment, and presumably you are interested not only in what you are deliverying or maintaining, but also some of the external dependancies of the given host, per a 'system configuration.'

An 'audit' because on the books, you have certain previous claims, or inferred carryovers from the last time you serviced the host, and you want to verify the claims are true in their current form.

Not the answer you're looking for? Browse other questions tagged or ask your own question.