《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.snjht.com/jiaocheng/7046.html