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看看是否已保存设置,全都搞定了以后,咱们就能够静静等待早上八点的短信了

图片描述

图片描述

固然还有不少玩法,就等各位自行发挥了哈哈哈哈!

微信订阅号

图片描述

相关文章
相关标签/搜索