跳到正文
TURNKEYGNU / LINUX
应用文档博客截图GitHubTurnKey Hub
文中文
EnglishEspañol中文日本語PortuguêsDeutsch
ưμ㼯A/实例使用假设

文档

实例使用假设

Alon想要用最新的安全更新刷新所有TurnKey Linux 应用设备.

他写一个脚本,接受应用设备的名称作为参数,从Sourceforge下载最新版本,提取根文件系统,安装安全 更新,将根文件系统重新包装为应用设备 ISO,并将应用设备的新版本上传回Sourceforge.

在他在当地的Ubuntu工作站测试脚本后,他要求Hub启动一个新的TurnKey Core实例(88.1.2.3),转移脚本并安装任何依赖性. 一旦测试了一切,他就会创建一个新的TKLBAM备份,并捕获他主工人服务器的状态。

阿隆进行他的第一次云层任务测试:

echo core | cloudtask --workers=88.1.2.3 refresh-iso-security-updates

一旦他证实这个单一测试工作正确工作,他就准备好进行将同时运行在10台服务器上的大批量工作.

由于这是例行任务,阿隆预计会定期重复,因此他用$HOME/云任务为它创建了预配置的云任务模板:

$ mkdir $HOME/cloudtasks
$ cd $HOME/cloudtasks

$ cat > refresh-iso << 'EOF'
from cloudtask import Task

class RefreshISO(Task):
    DESCRIPTION = "This task refreshes security updates on an ISO"
    BACKUP_ID = 123
    COMMAND = 'refresh-iso-security-updates'
    SPLIT = 10
    REPORT = 'mail: cloudtask@example.com alon@example.com liraz@example.com'

    HUB_APIKEY = 'BRDUKK3WDXY3CFQ'

RefreshISO.main()

EOF

$ chmod +x ./refresh-iso

$ cat $PATH_LIST_APPLIANCES | ./refresh-iso
About to launch 10 cloud servers to execute the following task:

  Parameter       Value
  ---------       -----

  jobs            40 (appengine .. zimbra)
  command         refresh-iso-security-updates
  hub-apikey      5YGVPEMHJHU5EA
  ec2-region      us-east-1
  ec2-size        m1.small
  ec2-type        s3
  user            root
  backup-id       123
  workers         -
  overlay         -
  post            -
  pre             -
  timeout         -
  report          mail: cloudtask@turnkeylinux.org liraz@turnkeylinux.org

Is this really what you want? [yes/no] yes

session 11 (pid 29709)
88.178.132.231 (29721): launched new worker
88.214.141.175 (29722): launched new worker
88.15.179.7 (29724): launched new worker
88.229.38.128 (29723): launched new worker

...

45分钟后,阿隆收到云塔克的电子邮件,称工作已经完成. 主体中是会话日志,详细列出是否发现任何工作的错误(如非零退出码),会话运行时间等.

如果阿隆想,他可以跟踪工人日志文件,实时跟踪任务执行情况:

tail -f ~/.cloudtask/11/workers/29721

 

TURNKEYGNU / LINUX

无需从零开始,掌控自己的基础设施。

探索 TurnKey
关于文档常见问题博客GitHub
自由开源默认安全随时可部署