linux中定时任务创建表

以下在centos中操作。

前提:在实际项目中,我们有些任务根据要求会做成脚本在服务器运行。

这次,我要把建表的任务放在服务器运行。

拆开来看就是创建定时任务和脚本操作数据库。

脚本操作数据库

创建一个.sh的脚本。比如我创建的是create.sh。以下是内容:

#!/bin/sh user=root pass=root name=timing timestamp=`date -d "next month" +%Y%m` tablename=$name$timestamp mysql -uroot -proot <<EOF USE $name CREATE TABLE IF NOT EXISTS $tablename ( id int(11) NOT NULL, user_id int(11) NOT NULL, bracelet_id int(11) NOT NULL ) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8 COMMENT=test; EOF exit;

注意不要使用`这个倒引号。

重要:设置执行权限:我直接赋予最高 chmod 777 create.sh

写好的脚本记得先运行一下看脚本是否有错误。

定时任务

我们需要用到crontab这个命令。

-e:编辑该用户的计时器设置; -l:列出该用户的计时器设置; -r:删除该用户的计时器设置; -u<用户名称>:指定要设定计时器的用户名称。

首先使用crontab -e去编辑定时器设置,比如我的定时器

表达式参数如下,这样应该很明了:

编辑完之后保存退出。

然后重启定时任务:service crond restart

定时操作数据库完成。

补充

经验分享 程序员 微信小程序 职场和发展