linux下安装xxl-job

hcwei 2020年09月01日 99次浏览

准备工作

克隆代码

git clone --branch 2.1.2 https://gitee.com/xuxueli0323/xxl-job.git

image.png

初始化数据库

mysql -h[数据库地址] -u[管理员用户名] -p[管理员密码] -e "source [克隆路径]/xxl-job/doc/db/tables_xxl_job.sql;"

1. jar包方式部署

修改配置文件

cd [克隆路径]/xxl-job/xxl-job-admin/src/main/resource
vim application.properties

image.png

vim logback.xml

image.png

maven打包

cd [克隆路径]/xxl-job
mvn package

image.png

执行生成的jar包即可

cd [克隆路径]/xxl-job/xxl-job-admin/target
nohup java -jar xxl-job-admin-2.1.2.jar >/dev/null  &  

image.png

2. docker方式部署

docker run -e PARAMS="--spring.datasource.url=jdbc:mysql://[数据库地址]:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai --spring.datasource.username=[数据库用户名] --spring.datasource.password=[数据库密码] --xxl.job.accessToken=[token值]" -p 8080:8080 -v /mnt/logs:/data/applogs --name xxl-job-admin  -d xuxueli/xxl-job-admin:2.1.2

访问:

http://IP:8080/xxl-job-admin
用户名:admin   初始密码:123456

image.png

jar包方式自动安装脚本:

#!/bin/bash
# 作者:HCWEI
# 说明:此脚本需要用到git、mvn、mysql命令行工具,运行前请确认已正确安装上述工具

source /etc/profile

checktools(){
	which git &> /dev/null
        [ $? = 0 ]||(echo "未找到git,请检查是否安装git"&&exit 1)
	which mvn &> /dev/null
        [ $? = 0 ]||(echo "未找到mvn,请检查是否安装mvn"&&exit 1)
	which mysql &> /dev/null
        [ $? = 0 ]||(echo "未找到mysql,请检查是否安装mysql"&&exit 1)
}

clonecode(){
	# 克隆代码,服务器上需要安装git,这里拉取码云上的2.1.2版本
	git clone --branch 2.1.2 https://gitee.com/xuxueli0323/xxl-job.git
}

cleancode(){
	# 获取当前脚本路径
        curPath=$(dirname $(readlink -f "$0"))
	rm -rf $curPath/xxl-job
}

mysqlset(){
	# 设置数据库地址及用户信息
	read -p "请输入数据库地址:" url
	read -p "请输入数据库用户:" user
	read -p "请输入数据库密码:" pwd
}

# 一、配置参数,maven打包xxl-job-admin
package(){
	# 获取当前脚本路径
	curPath=$(dirname $(readlink -f "$0"))

	# 设置日志目录
	read -p "请输入日志目录:" logurl

	# 替换参数
	sed -i "s/127.0.0.1/$url/g" xxl-job/xxl-job-admin/src/main/resources/application.properties
	sed -i "s/root_pwd/$pwd/g" xxl-job/xxl-job-admin/src/main/resources/application.properties
	sed -i "s/root/$user/g" xxl-job/xxl-job-admin/src/main/resources/application.properties
	sed -i "s!/data/applogs!$logurl!g" xxl-job/xxl-job-admin/src/main/resources/logback.xml

	# maven打包
	cd xxl-job
	mvn package
        cd xxl-job-admin/target
        mv *.jar /tmp/
	echo -e "\033[37;42m xxl-job安装成功,文件路径:/tmp/xxl-job-admin-2.1.2.jar\033[0m"
}

# 二、数据库初始化并授权
initializedb(){        
        # 获取当前脚本路径
        curPath=$(dirname $(readlink -f "$0"))

	# 导入初始化数据,新建普通用户并授权
	read -p "请输入数据库管理员用户:" ruser
	mysql -h$url -u$ruser -p -e "source $curPath/xxl-job/doc/db/tables_xxl_job.sql;"
	mysql -h$url -u$ruser -p -e "grant all on xxl_job.* to $user@'%' identified by '$pwd';"
}

main(){
INPUT1=$1
case $INPUT1 in 
package)
  checktools;
  clonecode;
  mysqlset;
  package;
  cleancode;
  ;;
initdb)
  checktools;
  clonecode;
  mysqlset;
  initializedb;
  cleancode;
  ;;
install)
  checktools;
  clonecode;
  mysqlset;
  initializedb;
  package;
  cleancode;
  ;;
help)
  echo -e "\n* * * * * * * * * *\n\npackage:生成可执行jar包\n\ninitdb:初始化数据库并授权\n\ninstall:全新安装xxl-job\n\n* * * * * * * * * *\n"
  ;;
*)
  echo $"Usage: $0 { package | initdb | install | help }";
  ;;
esac
}

main $1