Linux Crontab之天天八點發短信給女友

都說程序猿沒有女友=_=,汗,爲何要黑咱們帥氣的程序猿一族,今天來搞一波用Linux的Crontab定時任務天天給女友發短信

在這裏我用的是阿里大於的短信SDK,每條短信價格爲0.045元,衝個一塊錢夠用大半月了,美滋滋...php

百度阿里大於,進入官網後註冊一個帳號,而後進入控制檯,下載一波SDK,做爲一個搞PHP的,固然下載了PHP的SDK,其餘SDK也可自行下載。html

圖片描述

下載完以後,咱們看一下目錄結構linux

圖片描述

這個fileTest文件就是用來發短信的,咱們須要編輯它,不過在此以前,須要先在官網控制檯建立短信模板,關於建立模板這裏就不一一細說了,官網都有教程,建立完以後咱們編輯一下這個所謂的fileTest文件,打開文件,寫入。shell

如下是個人,僅供參考==服務器

#!/usr/bin/php -q
<?php
include "TopSdk.php";
date_default_timezone_set('Asia/Shanghai');

$date1 = strtotime('2015-12-23');  //把日期轉換成時間戳
$date_english = strtotime('2017-06-17');//英語六級時間
$date2 = time(); //取當前時間的時間戳
$nowtime=strftime("%y年-%m月-%d日 ",$date2); //格式化輸出日期
$days=round(($date2-$date1)/3600/24);  //四捨五入
$days1=round(($date_english-$date2)/3600/24);//四捨五入求英語考試剩餘天數
$week=date("N",time()+3600*24);//判斷星期幾
// $week=7;
$num=mt_rand(0,9);
$num2=mt_rand(0,9);

for($i=0;$i<2;$i++)
{
    if($i==0)
    {
        $name = '不省心的女友';
        $c = new TopClient;
        $c ->appkey='';//寫入對應key
        $c ->secretKey='';//寫入對應key
        $req = new AlibabaAliqinFcSmsNumSendRequest;
        $req ->setExtend( "" );
        $req ->setSmsType( "normal" );
        $req ->setSmsFreeSignName( "短信簽名" );
        $req ->setSmsParam( "{name:'$name',time:'$days',num:'$num'}" );
        $req ->setRecNum( "你女友的手機號" );
        $req ->setSmsTemplateCode( "短信模板號" );
        $resp = $c ->execute( $req );
    }
    else 
    {
        $name = '帥氣的xxx';
        $c = new TopClient;
        $c ->appkey='';//寫入對應key
        $c ->secretKey='';//寫入對應key
        $req = new AlibabaAliqinFcSmsNumSendRequest;
        $req ->setExtend( "" );
        $req ->setSmsType( "normal" );
        $req ->setSmsFreeSignName( "短信簽名" );
        $req ->setSmsParam( "{name:'$name',time:'$days',num:'$num2'}" );
        $req ->setRecNum( "你的手機" );
        $req ->setSmsTemplateCode( "短信模板號" );
        $resp = $c ->execute( $req );
    }
}
?>

寫完以後終端運行一下php fileTest.php,測試一下是否能正常收到短信,若是能夠就OK了,接下來咱們要將他放到服務器上面去,把整個文件夾拷貝到服務器上,接下來,就要用到Linux的crontab定時任務了微信

首先,簡單介紹一下app

經過crontab 命令,咱們能夠在固定的間隔時間執行指定的系統指令或 shell script腳本。時間間隔的單位能夠是分鐘、小時、日、月、周及以上的任意組合。這個命令很是適合週期性的日誌分析或數據備份等工做。測試

介紹幾條命令

crontab -e: 編輯某個用戶的crontab文件內容。若是不指定用戶,則表示編輯當前用戶的crontab文件。spa

crontab -l:顯示某個用戶的crontab文件內容,若是不指定用戶,則表示顯示當前用戶的crontab文件內容。nuxt

介紹一下crontab的文件格式

分 時 日 月 星期 要運行的命令

  • 第1列分鐘0~59
  • 第2列小時0~23(0表示子夜)
  • 第3列日1~31
  • 第4列月1~12
  • 第5列星期0~7(0和7表示星期天)
  • 第6列要運行的命令

更多的內容請看http://linuxtools-rst.readthe...

好了,咱們如今只須要會這些就OK。

咱們在服務器上運行crontab -e

而後在文件中最後一行加入00 08 * * * php /path/to/你的短信代碼文件夾/fileTest.php,前面參數能夠自行修改,我這個是天天早上八點,設置完以後,運行一下crontab -l看看是否已保存設置,全都搞定了以後,咱們就能夠靜靜等待早上八點的短信了

圖片描述

圖片描述

固然還有不少玩法,就等各位自行發揮了哈哈哈哈!

微信訂閱號

圖片描述

相關文章
相關標籤/搜索