《LINUX入门:Linux中利用crontab创建计划任务及利用shell方式执行MySQL语句》要点:
本文介绍了LINUX入门:Linux中利用crontab创建计划任务及利用shell方式执行MySQL语句,希望对您有用。如果有疑问,可以联系我们。
本次来说说Linux crontab定时任务来执行shell脚本文件,以及怎么通过shell脚原来执行sql语句;
其实crontab跟spring quartz准时任务是差不多的意思,在我看来是完全一样的;
像这种适合的场景,一般用于简单的对数据进行操作,适合没有复杂逻辑的操作,好比本次因为活动需要将某个商品的价格调为活动价,像这种逻辑不是很复杂的,能通过简单的sql就
能完成的就非常得当用这个定时任务了,>>
如图本次因为活动需要将原价4388元的ipad价格调为活动价4200,但必须要在10月1号生效,在10月1号之前坚持原价,
下面实现需求:
1.首先本次操作的文件在服务器的目录为/home/she/下,首先在she文件夹下新建文件shu.sh文件,内容为(这里必要会一点shell语言功底):
#!/bin/sh
user=bizme
pass=www123*
db=qianzhao
tablename=ecshop_items
mysql -u$user -p$pass -D $db -e "UPDATE ecshop_items SET price=4200 WHERE id='106U9FQUM4C1Q_12_21';"
根据上图根据本身的数据库来调整响应的参数,参数意思都标清除了,每个字段都标的很清楚了的,
还有另外一种写法是将sql语句零丁写到一个文件中然后执行执行响应的.sql文件,具体是:
#!/bin/sh user=bizme pass=www123* db=qianzhao tablename=ecshop_items mysql -u$user -p$pass -D $db < /home/she/city.sql
然后在/home/she文件加下新建一个city.sql文件内容就是上面必要执行的sql:
UPDATE ecshop_items SET price=4200 WHERE id='106U9FQUM4C1Q_12_21';
好了,文件都建好了之后现在必要改下权限不然无法执行的,将刚刚新建的.sh脚本文件改下权限,命令为:chmod 744 shu.sh
如果使用的是尺度的linux色彩视图的话会看到文件颜色会变为绿色的:
好了,最后便是新建一个定时任务了:命令:crontab -e
新建一行:0 0 1 10 * /home/she/shu.sh 意思为10月1日0点执行:
这个光阴设置有点类似于quartz的光阴设置,但又不完全相同: 依次为:分钟,小时,日,月,星期,
编辑好了之后以:wq方式保留,跟vim编辑器保留方式相同.
最后上成果:
成功执行了,根据本身的业务逻辑调整sql其实很多定时任务都可以以这种方式来完成.
完!!!
本文永远更新链接地址:
《LINUX入门:Linux中利用crontab创建计划任务及利用shell方式执行MySQL语句》是否对您有启发,欢迎查看更多与《LINUX入门:Linux中利用crontab创建计划任务及利用shell方式执行MySQL语句》相关教程,学精学透。维易PHP学院为您提供精彩教程。
转载请注明本页网址:
http://www.vephp.com/jiaocheng/7046.html