2015-08-04 1 views
1

Je tente de copier un fichier à l'aide de cf-engine du concentrateur de stratégies vers l'hôte. Le fichier vide est créé sur l'hôte. Comment puis-je écrire le contenu? Le concentrateur de stratégies et les hôtes doivent-ils avoir le fichier au même emplacement?Copie de fichier à l'aide de cf-engine du concentrateur de stratégies vers des hôtes

+0

Pouvez-vous publier la politique que vous avez essayé d'utiliser pour copier un fichier? – codewarrior

+0

J'ai utilisé une politique similaire à celle indiquée ci-dessous. Le problème était le répertoire sur le serveur n'a pas été ouvert. J'ai déplacé le fichier dans le répertoire masterfiles et cela a fonctionné. Merci pour votre codewarrior !!! – Kiran

Répondre

3

Afin de copier un fichier à partir d'un serveur cfengine doit avoir un acl qui permet le fichier à partager à l'agent distant. Vous pouvez voir quelques exemples de access promises dans les cadres de politique Masterfiles bundle server access_rules. Par exemple, vous voulez que tous les hôtes partagent /tmp sur le concentrateur de stratégies avec tous les autres hôtes.

bundle server kiran_access_rules 
{ 
    access: 
    # First you restrict promises to the proper context 
    # by using a class guard. Here we allow only hosts 
    # with the class am_policy_hub or policy_server to 
    # share /tmp 

    am_policy_hub|policy_server:: 

     "/tmp" 
     admit => { "0.0.0.0/0" }, 
     comment => "Probably you would reference a list in 
        the admit attribute like @(def.acl). 
        That's the variable named acl in the 
        bundle named def."; 
} 

Et puis séparément vous auriez un ensemble qui a promis de copier le fichier. Maintenant, ce que vous voyez ci-dessus dans cette promesse copy_from est vraiment de multiples promesses compressées en une seule. Vous promettez que le fichier existe et vous promettez que le fichier doit avoir le même contenu que le fichier partagé par le concentrateur de stratégies. Comme cfengine a convergé il était capable de réparer une partie mais pas la promesse de composé. Je crois que c'est pourquoi vous avez fini avec un fichier vide.

Le meilleur endroit pour poser des questions de cfengine est sur le cfengine help list ou dans le cfengine IRC channel.

+0

Merci Nick. J'ai déplacé l'emplacement du fichier sur le serveur vers/masterfiles et le fichier a été copié sur l'hôte. Peut-être pas l'emplacement correct pour le fichier, mais vous m'avez aidé à trouver la cause première. Appréciez-le !!! – Kiran

+0

Je suis heureux d'avoir pu aider. Bonne chance! S'il vous plaît laissez-nous savoir si vous avez besoin d'aide supplémentaire. –