Linux中利用crontab創建計劃任務,以及簡單的利用shell方式執行mysql語句

来源:http://www.cnblogs.com/eason-en/archive/2017/09/15/7528194.html
-Advertisement-
Play Games

本次來說說Linux crontab定時任務來執行shell腳本文件,以及怎麼通過shell腳本來執行sql語句; 其實crontab跟spring quartz定時任務是差不多的意思,在我看來是完全一樣的; 像這種適合的場景,一般用於簡單的對數據進行操作,適合沒有複雜邏輯的操作,比如本次因為活動需 ...


本次來說說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其實很多定時任務都可以以這種方式來完成.

完!!!

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 需求: 如果表欄位的值為 0 則將其修改為1 ,如果表欄位的值為 1 則將其修改為 0。 方法一 方法二 方法三 ...
  • 一工廠的SQL Server資料庫伺服器上的YourSQLDba_LogBackups作業做事務日誌備份時,突然出現異常,異常的錯誤信息指向.NET Framework,出現這個問題時,一般我估計是該伺服器自動應用了.NET Framework的一些補丁導致,因為以前也碰到過這類錯誤,於是去檢查服務 ...
  • 通過servlet,jsp,mysql實現用戶顯示,功能模塊和後臺數據三個模塊分離 ...
  • 本文轉自:http://www.sqlines.com/oracle-to-sql-server/months_between In Oracle, MONTHS_BETWEEN(date1, date2) function returns the number of months between ...
  • 以Deepin為例,只需一條命令即可: sudo apt-get install curl libcurl3 libcurl3-dev php5-curl ...
  • ubantu下用qemu搭建arm+linux運行環境 概述 模擬的單板為vexpress a9,內核為cortex a9;安裝完qemu可用以下命令查看支持的機器: 或`qemu system arm M help` 沒有支持ST公司的板子,有支持arm9,arm11,cortex m3,cort ...
  • python版本:3.5.2 操作系統:ubuntu 16.04 LTS 這個練習小程式還沒有寫完,差最關鍵的更新代碼和備份代碼!(待續) 註意:本程式在windows下還無法正常運行,特別是列印內容的顏色,還有目錄的路徑分隔符的問題待解決! ...
  • 一、AIDE AIDE全稱為(Adevanced Intrusion Detection Environment)是一個入侵檢測工具,主要用於檢查文件的完整性,審計系統中的工具是否被更改過。 AIDE會構造一個資料庫文件,當系統在穩定時將全部或指定的文件屬性以密文的形式保存至資料庫中。文件屬性包括: ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...