jrt运维命令改造

以前发布网站都是定死网站放置路径的,现在JRT想面向更广范围推广,所以就不能明确确定网站放置目录,为此需要改造一下jrt命令和sh来满足目录不确定情况和多个程序用不同管理命令的要求。

以前是写死的,现在改为调程序运行目录的sh文件,这样程序放置位置就可以随意了
jrt运维命令改造_第1张图片

改造后的c++

#include
#include
#include
#include
#include
#include
#include   
using namespace std;

//定义数组大小
#define NUM 900

//执行方法
extern void Invoke(string cmd);
#ifdef WIN32
/// 
/// 执行命令
/// 
/// 
void Invoke(string cmd)
{
	cout << "仅支持linux驱动JRT运维命令:" << cmd << endl;
}
#else
#include
/// 
/// 执行命令
/// 
/// 
void Invoke(string cmd)
{
    char cmdArr[NUM];
    cmd.copy(cmdArr, cmd.length(), 0);
    system(cmd.c_str());
    return;
	char line[NUM];
	FILE* fp;
	//系统调用
	const char* sysCommand = cmd.data();
	if ((fp = popen(sysCommand, "r")) == NULL)
	{
		cout << "错误" << endl;
		return;
	}
	//输出
	while (fgets(line, sizeof(line) - 1, fp) != NULL)
	{
		cout << line;
	}
	pclose(fp);
}
#endif

/// 得到程序的根路径
std::string get_cur_executable_path_()
{
    char *p = NULL;
    const int len= 256;
    /// to keep the absolute path of executable's path
    char arr_tmp[len]= {0};
    int n= readlink("/proc/self/exe", arr_tmp, len);
    if (NULL!= (p = strrchr(arr_tmp,'/')))
	{
        *p = '\0';
	}
    else
    {
        return std::string("");
    }
    return std::string(arr_tmp);
}

/// 
/// mian方法
/// 
/// 
int main(int argc, char *argv[]) {
	//执行bash脚本
	string cmdStr ="bash "+get_cur_executable_path_()+"/jrt.sh";
	cout << "欢迎使用jrt的linux命令呼出入口,通过jrt命令引导bash脚本" << endl;
	cout << "执行命令:" << cmdStr<<endl;
	//执行命令
	Invoke(cmdStr);
	return 0;
}

sh的初始化由以前的拷贝改为创建软连接,这样执行jrt命令就能驱动程序文件下的sh
jrt运维命令改造_第2张图片

通过考虑更广范围使用,运行自己定义呼出的命令,这样多份程序就可以放在不同目录,然后自定义呼出了
jrt运维命令改造_第3张图片

自定义名称效果

[root@localhost jrtbase]# jrt
欢迎使用jrt的linux命令呼出入口,通过jrt命令引导bash脚本
执行命令:bash /jrtbase/jrt.sh
 
+欢迎您使用jrt网站运维脚本
+该脚本致力于简化基于jrt框架的web在linux上运维
+常用菜单选项有1、2
+检验约定发布在8080端口
+在没有jrt命令的检验服务器运行bash /jrtbase/jrt.sh来第一次初始化jrt命令
 
 
+*************************************************JRTWeb网站配置工具************************************************************+
+                                                                                                                               +
+ 1:重启Tomcat网站                                                                                                             +
+                                                                                                                               +
+ 2:端口查看和开放,查看端口占用(lsof -i:8080)                                                                                   +
+                                                                                                                               +
+ 3:查看网站进程信息                                                                                                            +
+                                                                                                                               +
+ 8:编译实体                                                                                                                    +
+                                                                                                                               +
+ 9:常用命令帮助                                                                                                                +
+                                                                                                                               +
+ 10:启动rsync服务                                                                                                              +
+                                                                                                                               +
+ 11:停止Tomcat网站                                                                                                             +
+                                                                                                                               +
+ 18:实体编译测试和代码比对                                                                                          +
+                                                                                                                               +
+ 66:自定义命令名称,否则都是以jrt驱动                                                                               +
+                                                                                                                               +
+ 发布后系统访问地址http://127.0.0.1:8080/JRTWeb/login/form/Login.aspx                                                          +
+                                                                                                              小乌鱼 20231228  +
+*******************************************************************************************************************************+
请按菜单输入选择功能Ctrl+C退出:66
请输入要定义的命令名称:
zlz
以后可以用zlz来驱动运维脚本了
关闭端口请执行:firewall-cmd --zone=public --remove-port=/tcp --permanent
+*************************************************JRTWeb网站配置工具************************************************************+
+                                                                                                                               +
+ 1:重启Tomcat网站                                                                                                             +
+                                                                                                                               +
+ 2:端口查看和开放,查看端口占用(lsof -i:8080)                                                                                   +
+                                                                                                                               +
+ 3:查看网站进程信息                                                                                                            +
+                                                                                                                               +
+ 8:编译实体                                                                                                                    +
+                                                                                                                               +
+ 9:常用命令帮助                                                                                                                +
+                                                                                                                               +
+ 10:启动rsync服务                                                                                                              +
+                                                                                                                               +
+ 11:停止Tomcat网站                                                                                                             +
+                                                                                                                               +
+ 18:实体编译测试和代码比对                                                                                          +
+                                                                                                                               +
+ 66:自定义命令名称,否则都是以jrt驱动                                                                               +
+                                                                                                                               +
+ 发布后系统访问地址http://127.0.0.1:8080/JRTWeb/login/form/Login.aspx                                                          +
+                                                                                                              小乌鱼 20231228  +
+*******************************************************************************************************************************+
请按菜单输入选择功能Ctrl+C退出:^C[root@localhost jrtbase]# 
[root@localhost jrtbase]# zlz
欢迎使用jrt的linux命令呼出入口,通过jrt命令引导bash脚本
执行命令:bash /jrtbase/jrt.sh
 
+欢迎您使用jrt网站运维脚本
+该脚本致力于简化基于jrt框架的web在linux上运维
+常用菜单选项有1、2
+检验约定发布在8080端口
+在没有jrt命令的检验服务器运行bash /jrtbase/jrt.sh来第一次初始化jrt命令
 
 
+*************************************************JRTWeb网站配置工具************************************************************+
+                                                                                                                               +
+ 1:重启Tomcat网站                                                                                                             +
+                                                                                                                               +
+ 2:端口查看和开放,查看端口占用(lsof -i:8080)                                                                                   +
+                                                                                                                               +
+ 3:查看网站进程信息                                                                                                            +
+                                                                                                                               +
+ 8:编译实体                                                                                                                    +
+                                                                                                                               +
+ 9:常用命令帮助                                                                                                                +
+                                                                                                                               +
+ 10:启动rsync服务                                                                                                              +
+                                                                                                                               +
+ 11:停止Tomcat网站                                                                                                             +
+                                                                                                                               +
+ 18:实体编译测试和代码比对                                                                                          +
+                                                                                                                               +
+ 66:自定义命令名称,否则都是以jrt驱动                                                                               +
+                                                                                                                               +
+ 发布后系统访问地址http://127.0.0.1:8080/JRTWeb/login/form/Login.aspx                                                          +
+                                                                                                              小乌鱼 20231228  +
+*******************************************************************************************************************************+
请按菜单输入选择功能Ctrl+C退出:

你可能感兴趣的:(运维,java)