Linux Crontab命令定时任务基本语法与操作教程

Crontab是一个Unix/Linux系统下的常用的定时执行工具,可以在无需人工干预的情况下运行指定作业。很多时候我们都要用到Crontab命令,例如在 《Let’s Encrypt 免费 通配符(野卡)域名证书》申请方法中提到了acme.sh 脚本就是利用了Crontab定时任务的形式来更新SSL证书。

通过crontab命令,我们可以在固定的间隔时间执行指定的系统指令或 shell script脚本,用Crontab实现每天定时重启VPS、服务器或者是Nginx、PHP、MysqL服务等。

总之,掌握基本的Crontab命令语法对于我们管理自己的VPS主机是非常有必要的,本篇文章通过实例来讲解如何使用Linux Crontab命令,不作深入的探究,主要是方便日后的快速查询与参考。

 

一、Crontab查看编辑重启

1、查看crontab定时执行任务列表

crontab -l

2、编辑crontab定时执行任务

crontab -e

3、删除crontab定时任务

crontab -r

4、相关命令:

sudo service crond start     #启动服务sudo service crond stop      #关闭服务sudo service crond restart   #重启服务sudo service crond reload    #重新载入配置sudo service crond status    #查看服务状态

二、Crontab基本格式语法

crontab 的时间表达式:

基本格式 :          command分 时 日 月 周 命令

先来看一个例子。每天凌晨1:00执行备份程序:0 1 /root/backup.sh 。其中/root/backup.sh 这是脚本路径,要使用绝对路径,前面的日期格式请直接看下图就知道了。

crontab还有操作符,用来实现一些复杂的时间设定需要。操作符有:

1、 取值范围内的所有数字 ,代表所有。

2、/ 每过多少个数字 ,代表每隔n长时间。

3、- 从X到Z ,代表一段时间范围。

4、,散列数字,代表分割开多个值。

PS:2018年4月15日更新,如果还有搞不懂代码公式的,可以使用这个在线Cron表达式生成器:http://cron.qqe2.com/

三、20个经典Crontab应用实例

以脚本/root/backup.sh 为演示,大家在使用时记得替换为自己的脚本路径。

 

实例1:每1分钟执行一次

     /root/backup.sh

实例2:每小时的第3和第15分钟执行一次

3,15     /root/backup.sh

实例3:每天的8点到11点的第3和第15分钟执行一次

3,15 8-11    /root/backup.sh

实例4:每隔两天的上午8点到11点的第3和第15分钟执行一次

3,15 8-11 /2     /root/backup.sh

实例5:每周一上午8点到11点的第3和第15分钟执行一次

3,15 8-11   1 /root/backup.sh

实例6:每晚的21:30执行一次

30 21    /root/backup.sh

实例7:每月1、10、22日的4 : 45执行一次

45 4 1,10,22   /root/backup.sh

实例8:每周六、周日的1 : 10执行一次

10 1   6,0 /root/backup.sh

实例9:每天18 : 00至23 : 00之间每隔30分钟执行一次

0,30 18-23    /root/backup.sh

实例10:每星期六的晚上23: 00 pm执行一次

0 23   6 /root/backup.sh

实例11:每一小时执行一次

 /1    /root/backup.sh

实例12:每天晚上23点到第二天7点之间,每隔一小时执行一次

 23-7/1    /root/backup.sh

实例13: 每个星期的第一天执行一次(即每个星期天晚上24:00开始执行).

@weekly /root/backup.sh

实例14:每个月的15日执行一次.

0 11 15   /root/backup.sh

实例15:每个月的第一天执行一次(即每个月的1日凌晨0点开始执行).

@monthly /root/backup.sh

实例16: 在指定的月份执行一次(在1月,4月和 6月每天晚上0点执行一次).

0 0  jan,apr,jun  /root/backup.sh

实例17: 重启后执行一次.

@reboot /root/backup.sh

实例18:定时任务执行后发一封邮件通知.

MAILTO="raj"1 1    /root/backup.sh

实例19:指定shell (默认的是/bin/bash)

SHELL=/bin/sh1 1    /root/backup.sh

实例20:指定环境变量.

PATH=/sbin:/bin:/usr/sbin:/usr/bin 1 1    /root/backup.sh

四、Crontab可能存在的问题

4.1  Crontab不立即生效

大家新建的Crontab定时任务保存后需要等待2分钟后才会执行,当然如果想要立即执行可以重启Crontab。当crontab失效时,可以尝试/etc/init.d/crond restart解决问题,或者查看日志看某个任务有没有执行/报错tail -f /var/log/cron。

4.2  Crontab不执行

脚本中涉及文件路径时写全局路径,更新系统时间时区后需要重启cron。当手动执行脚本OK,但是crontab死活不执行时很有可能是环境变量,可尝试在crontab中直接引入环境变量解决问题,例如:

0     . /etc/profile;/bin/sh /root/backup.sh

4.3  Crontab无权限执行

要注意系统级任务调度与用户级任务调度。只有 root 用户和 crontab 文件的所有者可以在 -e 、-l-r 和 -v标志后面使用 UserName 以编辑、列出、除去或验证指定用户的 crontab 文件。

root用户的任务调度操作可以通过”crontab –uroot –e”来设置,也可以将调度任务直接写入/etc/crontab文件。

想编辑别的用户的 crontab, 使用root运行下面的命令,同一个格式 (追加 “-u username” 到命令后) 也可以用来列出或删除 crontabs。

 crontab -u username -e

4.4  Crontab执行后通知

当Crontab定时任务在你所指定的时间执行后,系统会寄一封信给你,显示该程序执行的内容,可以在日志中/var/log/cron看到。若是你不希望收到这样的通知,请在每一行空一格之后加上 > /dev/null 2>&1 即可。

 

全文转载修改来自:挖站否

免费SSL证书收集整理--免费给你的网站开启Https安全加密访问

  • 前言

现在好多网站已经开始上线Https加密访问了,SSL证书用于加密HTTP协议,也就是HTTPS。给网站添加SSL证书并不复杂,像以前分享的LNMP、宝塔面板WDCP面板等都支持自定义SSL证书或者一键申请安装Let’s Encrypt证书。

自从Let’s Encrypt推出了各大浏览器支持和认可的免费SSL证书后,之前那些SSL巨头们开始放下了“姿态”推出了不少的域名型SSL证书(DV SSL)。现在申请一个免费的SSL证书已经非常简单的了,只要验证域名后就可以签发SSL证书了。

本篇文章就来收集整理国内外各大免费SSL证书,除了Let’s Encrypt,其它的免费SSL证书基本上是各大商家与GeoTrust,Comodo,Symantec合作推出的,只不过申请的入口不同而已,申请到的SSL证书是没有区别的。

 

  • 免费SSL证书收集整理

服务商 证书的类型 简要介绍 时长 评分
         
Let’s Encrypt Let’s Encrypt Let's Encrypt是第一个免费并且开源的CA,且已经获得Mozilla、微软等主要浏览器厂商的根授信,是免费SSL证书中首选,wzfou.com用的SSL就是这家。目前已经推出了免费泛域名证书,参考:Let’s Encrypt SSL 三月 9.5
Cloudflare Comodo CloudFlare推出的UniversalSSL功能,向所有CloudFlare用户(包括免费用户)提供SSL加密功能,前提你需要使用他们家的CDN。 未知 8.7
FreeSSL.org TrustAsia CA
Let's Encrypt
一个免费提供证书申请、证书管理和证书到期提醒服务的网站。Let's Encrypt 通过其官方 ACME 服务生成。TrustAsia 通过其官网 OpenAPI 的方式生成。参考:FreeSSL.org 一年 8.3
SSL For Free Let's Encrypt 基于Let's Encrypt的API开发的可供在线申请Let's Encrypt免费SSL证书的网站。参考:SSL_For_Free 三月 8.2
阿里云SSL DigiCert 阿里云与天威诚信推出了基于Symantec(赛门铁克)的免费SSL证书 一年 8.0
腾讯云SSL DigiCert 腾讯云与赛门铁克合作推出了免费的TrustAsia DV SSL证书 一年 8.0
七牛云SSL TrustAsia 七牛联合TrustAsia推出免费SSL证书,仅限七牛产品使用。 一年 7.5
百度云SSL Symantec 百度云联合Symantec(赛门铁克)推出DV免费版本证书,仅限百度云产品使用。 未知 7.0
360网站卫士SSL Symantec 360网站卫士如果要使用免费SSL证书必须得实名认证,且需要使用360的CDN。 未知 6.5

 

引用转载出处:挖站否

.

记录:20180401 博客服务器搬迁至香港虚拟主机

一、前言

本文章,主要记录下博客的搬迁记录,以及寻找、选择主机服务器所遇到的一些问题。

博客服务器一直使用的是洛杉矶的VPS服务器,使用起来感觉....此处省略若干字2333...

PS:相信很多使用国外服务器的同学大多感受都是相同的,自然这里就不多说了。

至于为什么要使用国外服务器,大家都懂?

慢,自然是这次要搬家的主要原因了。回家自然是比较好的选择了。

那么,这里肯定会有同学又要问了,既然都要搬家了,为何不...?额。这个自行体会。

然而博主呢,主要就是觉得麻烦。

所以,退而求其次,博主选择了香港,也算折中了吧。

香港虽然是小水管,毕竟距离近了呀。哈哈哈哈。还有一个自我安慰的说法:ping值就50ms呀,看起来不错诶orz。

搬家到香港,有一定的改观,至少比漂洋过海的那边看起来要好多了。

二、选择服务器

在本次博客搬家之前,要选一个香港的服务器主机,也是.....总之,各种麻烦。

首先,之前也有了解几家国内的小众商家(这里主要是指非企鹅云、某里云等较大厂家),看了下香港主机,普遍价格有点↑。然后也遇到了某些原本做域名的也搞什么云主机的,具体那家呢?双数字。从购买前质询客服,一问三不知,到买后体验效果不好,反馈售后技术,态度.....  额,只能说到这里了。相信大多数同学都会懂的。然后不到俩小时,果断选择退款。这可能也是博主使用时间最短的一个主机了吧。23333...

最后,博主选择了一家大厂,购买。转移数据,安装SSL证书,各种调试完毕。一气呵成。爽。

具体那家不详细说,官网原价购买比较贵,但是还是有办法滴。方法隐藏,嘿嘿。

安装SSL证书还有一个情况,那就是,原本这家的SSL配置的安全等级测试只能达到A-,但是经过后期沟通,终于还是达到A等级了。沟通过程也是比较愉快的(大厂的服务还是比较棒棒哒。哦豁豁。)。

好吧,就记录到这里,OK。

 

FreeSSL.org:免费提供TrustAsia/Let's Encrypt(支持通配符) SSL证书 附:简单申请教程

  • 申请地址

申请地址:https://freessl.org

  • 官方介绍

为什么要使用我们免费申请证书的服务?

1、100% 永久免费

再也不用付费申请 SSL 证书. 非常感谢 Let's Encrypt 与 TrustAsia 为我们提供免费SSL证书。

2、广泛被信任

我们所提供的免费 SSL 证书被 99.9% 的主流浏览器所信任。

3、使用 SSL 的优势

保护用户的数据,增加用户的信任;提高搜索的排名;保护网站免受黑客的攻击。

4、到期提醒服务

我们会在证书到期前 30、7 天通过邮件提醒您,您可登录到管理后台管理查看你的证书。

5、私钥安全有保障

我们采用浏览器本地生成私钥,从而保护私钥不在网络上传播,确保了您的证书安全。

关于FreeSSL是如何运行的?

1、提供 Let's Encrypt 与 TrustAsia CA 的免费HTTPS证书申请。

两者均通过验证域名的方式申请:

  • Let's Encrypt 通过其官方 ACME 服务生成。
  • TrustAsia 通过其官网 OpenAPI 的方式生成。

2、私钥(Private Key)通过浏览器自主生成,保证私钥安全。

对于现代浏览器,我们在浏览器中使用 Web Cryptography API 生成一个私钥,从而保证你的私钥不会在网络上传输。当HTTPS证书申请成功后,私钥将会从您的浏览器中删除。如果您的浏览器 不支持 Web Cryptography API,我们将从服务器生成私钥,通过 HTTPS SSL 下发给您,我们承诺绝不保存用户私钥。但是,为了更好的安全性,我们仍然建议使用支持 Web Cryptography API 的浏览器来生成客户端。您还可以在生成证书时提供自己的 CSR,这种情况下,您将绝对的保证私钥的安全。

  • 申请步骤

下面简单的说下申请步骤,这里就以申请 Let's Encrypt 通配符SSL为例,如果需要申请其他证书,请自行在下方选择:

1、直接输入你要申请的域名,如:*.example.com (如果申请多域名证书,则多个英文域名使用逗号隔开,通配符则会在点击创建后自动补全顶级域名example.com),点击创建免费的SSL证书

2、输入邮箱、申请的证书品牌、证书类型、验证方式以及选择CSR生成等

关于证书类型的ECC和RSA,这里不做详细介绍了,具体可自行了解,新手或者不是很了解这两种类似证书的同学,建议选择最常见的RSA即可,CSR也可以直接选择浏览器生成

3、验证DNS

目前,Let's Encrypt通配符证书暂时只支持DNS验证方式,会给出解析记录,去到你的域名DNS解析管理平台做好DNS的TXT解析,具体操作可以参考之前的文章《Let’s Encrypt:免费 通配符(野卡)域名证书 申请方法》

这里,会在你点击生成后自动给出TXT记录,并在下方有一个60秒的自动倒计时验证,如果没有自动完成DNS解析验证,可以在后面点击手动验证。

4、下载证书

验证完成后,则会在页面下方显示你的证书文件和私钥文件内容,可以点击下面的下载证书,将证书文件下载到本地保存。完整如图:

注意:这里下载的证书文件压缩包,包含:

证书文件:full_chain.pem(此文件内容同时包含了完整的证书链,方便使用nginx的同学直接使用

私钥文件:private.key

 

其实,还有很多申请免费SSL的地方,以后再为大家介绍吧。

SSLforFree: 已经支持Let’s Encrypt通配符SSL签发

  • 关于SSLforFree

 之前也有文章已经提到过这家,提供网页免费申请SSL证书,无需拥有VPS服务器,提供的也是Let’s Encrypt的证书。值得一提的是,看到消息说已经支持签发通配符了。这就方便那些使用虚拟主机的朋友了。

  • 申请地址

https://www.sslforfree.com ;

SSLforFree官方说明:

1.Free Wildcard Certificates

Wildcard certificates allow you to secure a domain and any subdomains under that domain. If you wanted to secure any subdomains of example.org that you have now or in the future you can make a wildcard certificate. To generate wildcard certificates add an asterisk to the beginning of the domain(s) followed by a period. Wildcard domains do not secure the root domain so you must re-enter the root domain if you want it also secured under one certificate. For example to create a wildcard domain for example.org enter .example.org example.org. To create a wildcard certificate for multiple domains such as example.org and example.com enter .example.org example.org .example.com example.com. Manual DNS verification will be required.

2.Multiple Domains or Subdomains or Wildcards

Multiple domains or subdomains are allowed and should be separated by spaces (e.g. "subdomain.domain.com domain.com otherdomain.org .wildcarddomain.com"). If the multiple domains or subdomains pertain to multiple directories then you must use manual HTTP verification and upload verification files to the correct directories or use DNS verification.

3.Prevent WWW from being Added

We automatically add the www version of the domain if not already added as most users want that implicitly. To remove the www just submit the domains you want to verify then on the verification page near the top click on "Add / Edit Domains" and remove it and submit again.

  • 有弊有利 

1.使用这个网站申请自然是方便了没有vps操作,使用虚拟主机建站的朋友

但是在这里申请的SSL证书,需要在90天到期前,再次来申请并手动替换原有的SSL证书和私钥key文件。

2.如果你是使用vps服务器建站,并使用Acme.sh脚本工具申请,则会自动在到期前检查并重新签发替换。

  • 相关文章以及参考 

1.Let’s Encrypt:免费 通配符域名证书将于 2018 年 2 月 27 日上线(附:旧版申请方法) 

2.Let’s Encrypt:免费 通配符(野卡)域名证书 申请方法

3.SSLforFree: 我已经支持通配符签发


Warning: in_array() expects parameter 2 to be array, null given in /www/users/HK1590886/WEB/usr/plugins/TopLamuLeimu/Plugin.php on line 85