核心技术
下面我们将简单介绍一下 “Shell” 、 “Cron” 、 “飞信API接口” 。
1、Shell 简介
Shell 是一种具备特殊功能的程序,它为我们和 Linux/Unix 系统之间提供了一个交互的接口。用户既可以输入命令来跟操作系统交互,也可以通过编写 Shell 脚本,从而完成更加自动化和复杂的操作。因此 Shell 被称作 Linux/Unix 系统的窗口,它的作用就是按照一定的语法规范将用户指令加以转化并传给系统进行处理。
跟 DOS 可以分为 MS-DOS,PC-DOS,FreeDOS,ROM-DOS 一样,每种 Linux/Unix 操作系统都有它们自已的 Shell。它可以简单的理解为一个应用程序,可以在独立于操作系统本身的情况下进行修改、更新或是增删功能。Linux/Unix 操作系统提供了几种不同的 Shell, 如 Bourne Shell(/bin/sh)、Korn Shell(/bin/ksh)、Bourne Again Shell(/bin/bash)、Tenex C Shell(tcsh)、C Shell(/bin/csh) 等,其中 Bourne Again Shell(即bash) 是自由软件基金会(GNU)支持开发的一个 Shell 版本,它是 Linux 系统中一个默认的 Shell,Bash 不但与其它几种 Shell 兼容,而且还继承发扬了它们的优点。
让我们看一个 Shell 代码示例,我们将这个文件命令为 create_folder_daily.sh :
清单 1. Shell 代码示例
current_date=`date +%Y%m%d`
mkdir $current_date
这段代码的功能是:在当前目录下创建一下以当前日期(如:20091016)为命名的目录,运行演示如下:
清单 2. Shell 代码运行演示
总计 4
-rwxrwxrwx 1 root root 61 10-17 07:32 create_folder_daily.sh
[root@localhost workdir]# ./create_folder_daily.sh
[root@localhost workdir]# ll
总计 8
drwxr-xr-x 2 root root 4096 10-17 07:46 20091017
-rwxrwxrwx 1 root root 61 10-17 07:32 create_folder_daily.sh
2、Linux Cron 定时器服务
Linux Cron 是一个常驻服务,它提供定时器的功能,让用户在特定的时间得以执行预设的指令或程序。只要用户会编辑计时器的配置文件,就可以使用定时器的功能。
cron 的配置格式如下:Minute Hour Day Month DayOFWeek [UserName] Command
字段名 描述 |
Minute 分钟,表示每个小时的第几分钟来执行。范围是从 0-59 |
Hour 小时,表示从第几个小时来执行,范围是从 0-23 |
Day 日期,表示从每个月的第几天执行,范围从 1-31 |
Month 月,表示每年的第几个月来执行,范围从 1-12 |
DayOFWeek 周,表示每周的第几天执行,范围从 0-6,其中 0 表示星期日 |
UserName 用户名,也就是执行程序要通过哪个用户来执行,这个一般可以省略 |
Command 要执行的命令(命令可以是 ls /proc >> /tmp/proc 之类的命令,也可以是执行你自行编写的脚本的命令) |
配置 cron 任务的语法:crontab [option] [username]
语法 | 描述 |
crontab -e [username] | 编辑该用户的计时器设置 |
crontab -l [username] | 列出该用户的计时器设置 |
crontab -r [username] | 删除该用户的计时器设置 |
crontab -v [username] | 列出该用户cron作业的状态 |
清单 3. Crontab 配置演示 上面的配置将使 create_folder_daily.sh 每天凌晨 1 点钟运行一次,也就是说每天都会在 /root/workdir/ 目录下生成一个以当前日期命名的文件夹。
0 1 * * * /root/workdir/create_folder_daily.sh
3、中国移动飞信免费发短信 API 接口
飞信是由中国移动通信集团公司推出的一款集商务应用和娱乐功能为一体的,基于手机应用以及与 Internet 深度互通的即时通讯产品,可免费给好友发送短信。下载中国移动飞信 PC 客户端软件,并注册开通飞信。注册成为飞信用户,下载飞信PC客户端、使用 PC 客户端基本功能,不收取费用。通过 API 接口,即可免费给飞信好友或给你自己的手机发短信。利用本 API 接口可进行日程提醒、服务器监控、报警、故障通知或短信自动控制等功能。
它有 2 种调用方式:
清单 4. 浏览器调用方式
https://fetionlib.appspot.com/restlet/fetion/您手机号/您的飞信密码/接收方手机号/短信内容
清单 5. Linux下调用方式
curl "https://fetionlib.appspot.com/restlet/fetion/您手机号/您的飞信密码/接收方手机号/短信内容"