#!/usr/bin/env perl
use strict;
use warnings;

use MYDan::Util::Command;
use FindBin qw( $Script );

my $name = $ENV{MYDan_NAME} = $Script;

my @cmd =
(
    [ 'go', "登陆服务器.\n", 'dan/tools/go', 'box/tools/go' ],

    [ 'range', "操作对象描述.\n", 'dan/tools/range', 'box/tools/range' ],

    [ 'whois',   "查询、模糊查询机器信息.\n", 'dan/tools/whois', 'box/tools/whois' ],

    [ 'gateway',   "代理.\n", 'dan/tools/gateway', 'box/tools/gateway' ],

    [ 'rcall', "远程调用${name}的agent.", 'dan/tools/rcall' ],
    [ 'rtail',  'tail多个远程机器日志.', 'dan/tools/rtail' ],
    [ 'vssh',  '虚拟登陆多个机器.', 'dan/tools/vssh', 'box/tools/vssh' ],
    [ 'mssh',  '批量ssh命令.', 'dan/tools/mssh', 'box/tools/mssh' ],
    [ 'mcmd',  '批量命令.', 'dan/tools/mcmd', 'box/tools/mcmd' ],
    [ 'load',  '从远程机器下载文件.', 'dan/tools/load' ],
    [ 'rsync', "同步文件.", 'dan/tools/rsync', 'box/tools/rsync' ],
    [ 'mrsync', "批量同步文件.\n", 'dan/tools/mrsync', 'box/tools/mrsync' ],
    [ 'grsync', "全局批量同步文件，可以在多个隔离的网络中通过代理同步.\n", 'dan/tools/grsync' ],

    [ 'access', '给远程机器添加用户.', 'dan/tools/access' ],
    [ 'keys',   "给运程机器添加key信任.\n", 'dan/tools/keys' ],

    [ 'config', "${name}配置.\n", 'dan/tools/config', 'box/tools/config' ],

    [ 'shell', "获取远程机器反弹shell.\n", 'dan/tools/shell' ],

    [ 'alias', "${name}内部使用的alias.", 'dan/tools/alias', 'box/tools/alias' ],
    [ 'unalias', "${name}内部使用的unalias.\n", 'dan/tools/unalias', 'box/tools/unalias' ],

    [ 'fastmd5', "快速计算文件md5.", 'dan/tools/fastmd5', 'box/tools/fastmd5' ],
    [ 'sync', "同步${name}的配置", 'dan/tools/sync', 'box/tools/sync' ],
    [ 'xtar', '脚本和数据压缩工具.', 'dan/tools/xtar' ],
    [ 'git', 'git命令，添加了指定key功能.', 'dan/tools/git', 'box/tools/git' ],
    [ 'alarm', '设置超时闹钟运行命令.', 'dan/tools/alarm' ],
    [ 'bigest', '查找大文件.', 'dan/tools/bigest' ],
    [ 'expect', '自动应答.', 'dan/tools/expect' ],
    [ 'release', "发布${name}.", 'dan/tools/release' ],
    [ 'supervisor', '守护方式启动进程.', 'dan/tools/supervisor', 'box/tools/supervisor' ],
    [ 'tai64nlocal', '查看tai64格式日志.', 'dan/tools/tai64nlocal' ],
    [ 'diagnosis', "系统诊断.\n", 'dan/diagnosis/bin/diagnosis' ],
    [ 'tcpserver', "脚本提供tcp服务.\n", 'dan/tools/tcpserver' ],
    [ 'deploy', "本地发布切连接小工具.\n", 'dan/tools/deploy' ],
    [ 'check', "检查服务的小工具.\n", 'dan/tools/check', 'box/tools/check' ],
    [ 'secure', "私密文件管理小工具.\n", 'dan/tools/secure', 'box/tools/secure' ],
    [ 'udpfileserver', "udp文件服务.\n", 'dan/tools/udpfileserver' ],

    [ 'diskSpaceControl', "控制磁盘使用空间在某个百分比.\n", 'dan/tools/diskSpaceControl', 'box/tools/diskSpaceControl' ],

    [ 'node', '机器管理.', 'bin/mydan.node' ],
    [ 'code', 'git和svn代码仓库管理.适用于管理员.', 'dan/code/bin/control' ],
    [ 'checkuser', '检查用户状态.', 'dan/code/bin/checkuser' ],

    [ 'reborn', "重装系统.\n", 'dan/tools/reborn', 'box/tools/reborn' ],

    [ 'os', "获取当前服务器的cpu/mem等信息.\n", 'dan/tools/os', 'box/tools/os' ],
);

MYDan::Util::Command->new( $name => \@cmd,
    +{ gw => 'gateway', w => 'whois', g => 'go' }
)->do( @ARGV );
