废话不多说,直接上脚本
需要注意的是mysql语句中不能有反引号或者单引号
脚本需要授权,命令为: chmod 777 genera.sh
mysql版本为5.7
如果服务器地址或者端口不是本机或者默认的也可以通过参数设置,具体的方法可以查看最下方的友情链接
- genera.sh
USERNAME="root"
PASSWORD="***"
DBNAME="luntek_icplatform_test" #数据库名称
TABLENAME="timer" #数据库中表的名称
#创建数据库
create_db_sql="create database IF NOT EXISTS ${DBNAME}"
mysql -u${USERNAME} -p${PASSWORD} -e "${create_db_sql}"
#创建表
create_table_sql="CREATE TABLE IF NOT EXISTS timer (
id int(11) NOT NULL AUTO_INCREMENT,
date datetime(0) NULL DEFAULT NULL,
PRIMARY KEY (id) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic"
mysql -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${create_table_sql}"
#插入数据
mysql -u${USERNAME} -p${PASSWORD} $DBNAME -e "insert into $TABLENAME (date) values (NOW());"
exit 0
脚本直接结果
通过脚本实现定时检测服务器时间是否被修改功能
系统中:
创建shell脚本文件,脚本中创建MySQL数据库(都是不存在时创建),创建表,插入数据
mysq表字段为:自增id,当前时间,此条数据是否校验(避免项目运行时间过长表数据量太大造成遍历数据时间太长)
复制多个脚本到不同目录下,在corntab服务中为多个脚本添加定时任务(执行时间不同)
代码中:
检测corntab服务是否启动,未启动则启动服务,启动失败则停止项目
获取当前系统版本,若为有license过期版本则检测系统中相关脚本是否存在,不存在则停止项目
根据id递增获取记录时间数据表中未校验数据及上一条数据已校验数据,判断数据中时间是否单调递增,若不是则代表时间被修改,项目停止
友情链接: 通过shell脚本进行数据库操作