{
    "_schema_ver": 3,
    "_group_meta": {
        "sys": {
            "class": "grp-default",
            "grp_odr": 1
        },
        "yyy": {
            "class": "grp-purple",
            "grp_odr": 2
        },
        "_react": {
            "class": "grp-default",
            "grp_odr": 3
        },
        "권한": {
            "class": "grp-default",
            "grp_odr": 4
        },
        ".log": {
            "class": "grp-default",
            "grp_odr": 5
        },
        "skin": {
            "class": "grp-purple",
            "grp_odr": 6
        },
        "html전체": {
            "class": "grp-purple",
            "grp_odr": 7
        },
        "작업1캡챠": {
            "class": "grp-purple",
            "grp_odr": 8
        },
        "MEMBER": {
            "class": "grp-purple",
            "grp_odr": 9
        }
    },
    "sys": [
        {
            "label": "f2bPHP",
            "cmd": "sudo fail2ban-client status apache-php-noscript",
            "auto": 1,
            "sub_odr": 1
        },
        {
            "label": "f2bSSH",
            "cmd": "sudo fail2ban-client status sshd",
            "auto": 1,
            "sub_odr": 2
        },
        {
            "label": "dp..",
            "cmd": "dpkg -l | grep -i galera",
            "auto": 0,
            "sub_odr": 3
        },
        {
            "label": "apt-ca..",
            "cmd": "apt-cache rdepends galera-4",
            "auto": 0,
            "sub_odr": 4
        },
        {
            "label": "ss모연",
            "cmd": "ss -tun",
            "auto": 0,
            "sub_odr": 5
        },
        {
            "label": "ss어포",
            "cmd": "ss -tulnp",
            "auto": 0,
            "sub_odr": 6
        },
        {
            "label": "apt l* -i*",
            "cmd": "apt list --installed",
            "auto": 0,
            "sub_odr": 7
        },
        {
            "label": "dpkg -l",
            "cmd": "dpkg -l",
            "auto": 0,
            "sub_odr": 8
        },
        {
            "label": "apt s*",
            "cmd": "apt show 패키지이름",
            "auto": 0,
            "sub_odr": 9
        },
        {
            "label": "pip설치등",
            "cmd": "# pip 명령어를 직접 쓰지 말고 파이썬 3.12 엔진을 통해서 실행\n/opt/venv/bin/python3 -m pip install [패키지명]\n# 3.12가상환경들아거가기\nsource /opt/venv/bin/activate\n#(venv)에서 웹소켓실행해봄 \npython -c \"import websockets; print('로드 성공'); import sys; print('경로:', sys.executable)\"",
            "auto": 0,
            "sub_odr": 10
        },
        {
            "label": "찾을말",
            "cmd": "grep -r -n --include=\"*.*\"  \"찾을말\"  /etc/apache2/",
            "auto": 0,
            "sub_odr": 11
        }
    ],
    "yyy": [
        {
            "label": "y al",
            "cmd": "ls  -al /data/www/html/y",
            "auto": 0,
            "sub_odr": 1
        },
        {
            "label": "찾을말y",
            "cmd": "grep -r -n --include=\"*.php\"  --include=\"*.js\"   \"찾을말\" /data/www/html/y/yyy*.php",
            "auto": 0,
            "sub_odr": 2
        },
        {
            "label": "*conf*",
            "cmd": "ls -al /data/www/html/y/*conf*",
            "auto": 1,
            "sub_odr": 3
        },
        {
            "label": "*json*",
            "cmd": "ls -al /data/www/html/y/*json*",
            "auto": 1,
            "sub_odr": 4
        },
        {
            "label": "*foreignerjob.com*",
            "cmd": "ls -al /data/www/html/y/*foreignerjob.com*",
            "auto": 1,
            "sub_odr": 5
        }
    ],
    "_react": [
        {
            "label": "ls_react",
            "cmd": "ls -al /data/www/_react",
            "auto": 0,
            "sub_odr": 1
        },
        {
            "label": "찾을말ts",
            "cmd": "grep -r -n --include=\"*.ts\"  \"찾을말\"  /data/www/_react",
            "auto": 0,
            "sub_odr": 2
        },
        {
            "label": "찾을말ts",
            "cmd": "grep -r -n --include=\"*.ts\" --include=\"*.tsx\" --include=\"*.js\" \"월별 가입자 증가\" /data/www/_react/client/src",
            "auto": 0,
            "sub_odr": 3
        },
        {
            "label": "빌드하기",
            "cmd": "/data/www/_react/npm_run_build.sh",
            "auto": 0,
            "sub_odr": 4
        },
        {
            "label": "배포하기",
            "cmd": "cp -r /data/www/_react/dist/public/assets /data/www/html/",
            "auto": 0,
            "sub_odr": 5
        },
        {
            "label": "rsync배포",
            "cmd": "rsync -av --delete /data/www/_react/dist/public/ /data/www/html/",
            "auto": 0,
            "sub_odr": 6
        },
        {
            "label": "간단배포",
            "cmd": "cp -r /data/www/_react/dist/public/* /data/www/html/",
            "auto": 0,
            "sub_odr": 7
        }
    ],
    "권한": [
        {
            "label": "ps aux apache",
            "cmd": "ps aux | grep apache",
            "auto": 1,
            "sub_odr": 1
        },
        {
            "label": "ls-ld소유자확인",
            "cmd": "ls -ld /data/www/_react",
            "auto": 1,
            "sub_odr": 2
        },
        {
            "label": "소유확인2 ls -l /data/www/_react",
            "cmd": "ls -l /data/www/_react",
            "auto": 1,
            "sub_odr": 3
        }
    ],
    ".log": [
        {
            "label": "tail로그",
            "cmd": "tail /var/log/y_file_cmd.log",
            "auto": 1,
            "sub_odr": 1
        }
    ],
    "skin": [
        {
            "label": "찾을말",
            "cmd": "grep -r -n --include=\"*.php\"  --include=\"*.js\"   \"찾을말\" /data/www/html/skin/member",
            "auto": 0,
            "sub_odr": 1
        }
    ],
    "html전체": [
        {
            "label": "찾을말html",
            "cmd": "grep -r -n --include=\"*.php\" --exclude-dir \"node_modules\" --exclude-dir \"theme\" --include=\"*.js\"   \"찾을말\" /data/www/html",
            "auto": 0,
            "sub_odr": 1
        }
    ],
    "작업1캡챠": [
        {
            "label": "방지",
            "cmd": "grep -r -n --include=\"*.php\"  --include=\"*.js\"   \"방지\" /data/www/html/skin/member",
            "auto": 1,
            "sub_odr": 1
        },
        {
            "label": "찾을말css_js_php",
            "cmd": "grep -r -n --include=\"*.php\"  --include=\"*.js\" --include=\"*.css\"    \"찾을말\" /data/www/html/skin/member",
            "auto": 0,
            "sub_odr": 2
        },
        {
            "label": "member찾을말",
            "cmd": "grep -r -n --include=\"*.php\"  --include=\"*.js\" --include=\"*.css\"    \"찾을말\"   /data/www/html/skin/member/fj2025/",
            "auto": 0,
            "sub_odr": 3
        },
        {
            "label": "찾을말bbs",
            "cmd": "grep -r -n --include=\"*.php\"  --include=\"*.js\" --include=\"*.css\"    \"찾을말\"   /data/www/html/bbs",
            "auto": 0,
            "sub_odr": 4
        }
    ],
    "MEMBER": [
        {
            "label": "member",
            "cmd": "ls -al /data/www/html/skin/member/fj2025/",
            "auto": 1,
            "sub_odr": 1
        },
        {
            "label": "register_form.skin",
            "cmd": "ls -al /data/www/html/skin/member/fj2025/register_form.skin.php",
            "auto": 1,
            "sub_odr": 2
        }
    ]
}