亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python“學(xué)習(xí)強(qiáng)國(guó)”任務(wù)自動(dòng)化(三)利用linux的crontab自動(dòng)維護(hù)

系統(tǒng) 2887 0

總的思路:先將項(xiàng)目部署到我的騰訊云虛擬主機(jī)中,然后在該臺(tái)虛擬主機(jī)中設(shè)置定時(shí)任務(wù)。這個(gè)定時(shí)任務(wù)的內(nèi)容就是去執(zhí)行一個(gè)shell腳本,shell腳本的內(nèi)容是去執(zhí)行上一篇寫好的爬蟲程序來維護(hù)數(shù)據(jù)庫并將輸出結(jié)果利用git相關(guān)命令push到倉(cāng)庫中。

一、一些基礎(chǔ)知識(shí)

1.1 linux的時(shí)間表
  1. crontab程序是類unix系統(tǒng)中用于周期性執(zhí)行被指定的命令的程序。
  2. 命令用法的簡(jiǎn)單介紹
            
              
                #編輯當(dāng)前用戶的時(shí)間表程序
              
              
                crontab
              
               -e


              
                #查看當(dāng)前用戶的已經(jīng)制定好的時(shí)間表
              
              
crotab -l


              
                #重啟crond,以使時(shí)間表生效
              
              
systemctl restart crond

            
          

3.crontab的格式
* * * * * user command

1.2 shell編程
  1. 需要掌握shell編程的基本語法。
  2. 需要掌握linux下常見的命令
1.3 github的使用
  1. 如何在將gihub倉(cāng)庫部署到linux上,日后會(huì)寫這篇(待補(bǔ)充)。
  2. 完成部署后提交部分文件到github倉(cāng)庫
            
              
                # 初始化本地git倉(cāng)庫,只需要進(jìn)行一次,執(zhí)行成功后會(huì)在當(dāng)前目錄生成一個(gè)git的隱藏目錄。
              
              
                git
              
               init

              
                # 將項(xiàng)目的某個(gè)文件添加到倉(cāng)庫中,若我們需要上傳的不是目錄而只是一個(gè)文件,需要用f選項(xiàng)。
              
              
                git
              
               add -f 
              
                file
              
              
                # 添加本次改動(dòng)的說明內(nèi)容
              
              
                git
              
               commit -m 
              
                "text"
              
              
                #將本地的倉(cāng)庫關(guān)聯(lián)到github上對(duì)應(yīng)的倉(cāng)庫,后面的link是github上對(duì)應(yīng)的倉(cāng)庫的.git地址
              
              
                git
              
               remote add origin 
              
                link
              
              
                #上傳前pull一下,拿到該項(xiàng)目最新的版本
              
              
                git
              
               pull origin master

              
                #origin是本地倉(cāng)庫的缺省命名,master是遠(yuǎn)程倉(cāng)庫的master分支。
              
              
                git
              
               push -u origin master

            
          

二、編寫shell腳本

2.1 目錄結(jié)構(gòu)

我設(shè)想的目錄結(jié)構(gòu)是這樣的:

            
              
                [
              
              root@tysonscloud QIANGGUO
              
                ]
              
              
                # tree .
              
              
                .
              
              
                |
              
              -- __init__.py

              
                |
              
              -- linux_crontab

              
                |
              
              
                
                  `
                
                -- scripts 
                
                  |
                
                
                  `
                
              
              -- QGNews_maintain.sh

              
                |
              
              -- python項(xiàng)目(一)數(shù)據(jù)庫設(shè)計(jì).xls

              
                |
              
              -- QGNews_maintain_log

              
                |
              
              
                
                  `
                
                -- 2019-02-06 
                
                  |
                
                
                  `
                
              
              -- 2019-02-06_16:08.log

              
                
                  `
                
                -- scrapy 
                
                  |
                
                -- __init__.py 
                
                  |
                
                -- news_scrapy.py 
                
                  |
                
                -- news.sqlite 
                
                  `
                
              
              -- test_02.py

            
          
  • shell腳本存放在 linux_crontab 文件夾中,而每天的日志存放在QGNews_maintain_log目錄中。
  • 并且每天都要用單獨(dú)的文件夾來存放日志 。
2.2 shell腳本
            
              baseLogdir
              
                =
              
              /root/QIANGGUO/QIANGGUO/QGNews_maintain_log
everydayLog
              
                =
              
              
                $baseLogdir
              
              /
              
                
                  $(
                
                
                  date
                
                 +%F
                
                  )
                
              
              /

              
                [
              
              
                !
              
               -d 
              
                "
                
                  $everydayLog
                
                "
              
              
                ]
              
              
                &&
              
              
                mkdir
              
               -p 
              
                $everydayLog
              
              
                #判斷每日的日志文件存放的目錄是否存在
              
              

nowtime
              
                =
              
              
                
                  `
                
                
                  date
                
                 +%F_%H:%M
                
                  `
                
              
              
                #多條程序的執(zhí)行時(shí)間是有時(shí)間差的,為了避免出現(xiàn)push命令執(zhí)行時(shí)已經(jīng)到了第二分鐘,程序需要一個(gè)確定的時(shí)間
              
              

python /root/QIANGGUO/QIANGGUO/scrapy/news_scrapy.py 
              
                >
              
              
                $everydayLog
              
              /
              
                ${nowtime}
              
              .log 2
              
                >
              
              
                &
              
              1

              
                #創(chuàng)建每次維護(hù)的記錄
              
              
                git
              
               init

              
                git
              
               add -f 
              
                $everydayLog
              
              /
              
                ${nowtime}
              
              .log

              
                git
              
               commit -m 
              
                "這是
                
                  ${nowtime}
                
                的維護(hù)日志,由crontab程序自動(dòng)創(chuàng)建"
              
              
                git
              
               remote add origin git@github.com:chinaltx/QIANGGUO.git

              
                git
              
               pull origin master

              
                git
              
               push -u origin master

              
                #把每次維護(hù)的記錄push到github
              
            
          
  • shell腳本寫完后記得先進(jìn)行測(cè)試: bash /root/QIANGGUO/QIANGGUO/linux_crontab/scripts/QGNews_maintain.sh

三、設(shè)置crontab程序

  • crontab -e :進(jìn)行編輯
            
              0 */8 * * * 
              
                cd
              
               /root/QIANGGUO/QIANGGUO/
              
                ;
              
              
                bash
              
               linux_crontab/scripts/QGNews_maintain.sh`,每天的8點(diǎn)整、16點(diǎn)整、24點(diǎn)整會(huì)執(zhí)行維護(hù)程序。

            
          
  • crontab -l :檢查
  • systemctl restart crond :讓crond任務(wù)生效。

四、github地址

  1. https://github.com/chinaltx/QIANGGUO
  2. 最后說一下思路:
  • 這幾天寫好rest風(fēng)格的后臺(tái)接口。
  • 再用python的GUI寫一個(gè)桌面應(yīng)用,這個(gè)桌面應(yīng)用可以拿到每天最新的新聞數(shù)據(jù),然后自動(dòng)調(diào)用瀏覽器去執(zhí)行(使用自動(dòng)化測(cè)試框架實(shí)現(xiàn)),并且不會(huì)重復(fù)觀看,除此之外就是一些搜索功能。
  • 再之后就是把學(xué)習(xí)強(qiáng)國(guó)網(wǎng)頁版的整套api拿下來,通過提交請(qǐng)求的方法去告訴服務(wù)器我看了這篇文章,這樣就可以把這一套程序移植到微信公眾號(hào)上了。
  • 新手,邊學(xué)邊開發(fā),還請(qǐng)急需這種程序的童鞋多多包容…

更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 天天操天天操天天 | 九九综合九九 | 中文字幕在线精品 | 99热在线观看精品 | 四虎国产精品免费五月天 | 抱着cao才爽免费观看 | 久久国产视频一区 | 日本欧洲95视频 | 亚洲免费福利视频 | 9984四虎永久免费网站 | 成人免费视频日本 | 日本aaaa级毛片在线看 | 欧美一区二区三区在线视频 | 久久久久四虎国产精品 | 国产高清在线精品一区a | 欧美 日产 国产精品 | 成年人视频在线免费 | 欧美日韩成人在线 | 亚洲 欧美 日韩在线综合福利 | 免费视频亚洲 | 欧美洲久久日韩欧美 | 欧美亚洲日本国产综合网 | 免费一级毛片免费播放 | 色欧美hdvideosxs4k| 国产操比 | www.黄色片| 牛牛影视在线入口 | 国产精品视频一区二区三区经 | 天天射夜夜骑 | 欧美视频亚洲 | 人人看操 | 欧美色老太婆 | 国产成人99精品免费视频麻豆 | 成人a免费α片在线视频网站 | 毛茸茸bbw亚洲人 | 精品国产欧美一区二区三区成人 | 亚洲精品一区二区三区在 | 高清视频 一区二区三区四区 | 欧美成人久久久 | 精品亚洲成a人在线播放 | 婷婷爱爱 |