厨师 - 客户端是作为服务器启动的一部分运行还是仅由Chef-client cookbook的下一个内部设置运行?
是否有一个厨师 - 客户端菜谱设置,让服务器在启动后立即运行厨师 - 客户端(没有看到),而无需手动编辑启动脚本?
我在问,因为我正在禁用透明页面(根据this mongo doc)。
我可以很容易地将一个配方回显正确的参数到正确的文件,但在重新启动时,设置会切换回来。如果我知道chef-client将在重新启动时运行,我将不必担心弄乱启动脚本。
答案 0 :(得分:2)
默认情况下,chef-client未配置为作为init任务运行。虽然,厨师 - 客户端可以作为守护进程运行。 chef-client cookbook可用于将chef-client配置为守护进程。将默认配方添加到节点的运行列表中,然后使用该cookbook中的属性配置chef-client的行为。
https://docs.chef.io/ctl_chef_client.html#run-as-a-service
如果您愿意,可以使用chef-client :: init_service recipe将其配置为init服务。
https://github.com/chef-cookbooks/chef-client/blob/master/recipes/init_service.rb
答案 1 :(得分:2)
你可以使用cron运行chef,有特殊的'macro'@reboot,你应该在你的crontab上添加类似的行:
Intent intent = new Intent(this,Notifier.class);
PendingIntent pendingIntent = PendingIntent.getActivitythis.getApplicationContext(),
12345, intent, FLAG_CANCEL_CURRENT );
AlarmManager am =(AlarmManager)getSystemService(Activity.ALARM_SERVICE);
am.setRepeating(AlarmManager.RTC_WAKEUP, AT_from , interval, pendingIntent);
某些Linux发行版支持@reboot /path/to/my/chef-client
文件(肯定是Debian / Ubuntu)或执行的类似文件。