一、Cron表达式的组成

1
[秒] [分] [时] [日] [月] [周] [年]

二、Cron每个域(时间)的相关定义,用表格梳理比较明了。
域 是否必填 值以及范围 通配符

1
2
3
4
5
6
7
秒    是    0-59    , – * /
分 是 0-59 , – * /
时 是 0-23 , – * /
日 是 1-31 , – * ? / L W
月 是 1-12 或 JAN-DEC , – * /
周 是 1-7 或 SUN-SAT , – * ? / L #
年 否 1970-2099 , – * /

Cron表达式
通配符的含义:

1
2
3
4
5
6
7
8
9
,:表示在两个及以上的时间点中都执行。如在月中的值为1,3,则表示1月和3月都触发事件
*:表示匹配该域任意值,可解读为 “每”,如小时的字段为*时,表示每一小时都触发事件
?:表示不指定值,用于日期和星期字段之间进行互斥。通常在日期和星期字段中的一个指定值,另外一个用?表示不指定值。使用的场景为不需要关心当前设置这个字段的值。例如:要在每月的6号触发一个操作,但不关心是周几,我们可以这么设置 0 0 0 6 * ?
-:表示范围,一个连续触发的区间。如:时的值为6-8,则表示6-8小时中的每个小时都触发事件。
/:表示间隔时间触发事件(开始时间/时间间隔)。其中第一部分是起始值,除了秒以外都会降低一个单位,比如在 “秒” 上定义 5/10 表示从 第 5 秒开始 每 10 秒执行一次,而在 “分” 上则表示从 第 5 秒开始 每 10 分钟执行一次。
#:表示该月第n个星期x(x#n),仅用星期域。如:星期:6#3,表示该月的第三个星期五。
L:表示LAST 最后(最后一天或最后一个星期几);仅出现在日和星期的域中。用在日则表示该月的最后一天,用在星期则表示该月的最后一个星期X。如:星期域上的值为5L,则表示该月最后一个星期的星期四。在使用'L'时,不要指定列表','或范围'-',否则易导致出现意料之外的结果。
W:仅用在日的域中,表示距离当月给定日期最近的工作日(周一到周五)。 如:"4W"表示距离4号最近的工作日(当月的)触发事件; (1)当4号就是工作日时,则表示当天触发;当4号为周六时,则表示3号(周五)触发; (2)当4号为周日时,则表示在5号(周一)触发; 再如:"1W"表示距离1号最近的工作日触发事件,但是,该工作日只算当月的。假如当月1号是周六,则”1W“表示在当月3号(周一)触发事件。就算上个月的最后一天是工作日,也不会触发事件。
LW:‘L’和'W'可以一起组合在日字段使用。表示当月的最后一个工作日触发事件。

三、举个例子(要足够多)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
*/5 * * * * ? 每隔 5 秒执行一次
0 */1 * * * ? 每隔 1 分钟执行一次
0 0 2 1 * ? * 每月 1 日的凌晨 2 点执行一次
0 15 10 ? * MON-FRI 周一到周五每天上午 10:15 执行作业
0 15 10 ? 6L 2002-2006 2002 年至 2006 年的每个月的最后一个星期五上午 10:15 执行作业
0 0 23 * * ? 每天 23 点执行一次
0 0 1 * * ? 每天凌晨 1 点执行一次
0 0 1 1 * ? 每月 1 日凌晨 1 点执行一次
0 0 23 L * ? 每月最后一天 23 点执行一次
0 0 1 ? * L 每周星期天凌晨 1 点执行一次
0 26,29,33 * * * ? 在 26 分、29 分、33 分执行一次
0 0 0,13,18,21 * * ? 每天的 0 点、13 点、18 点、21 点都执行一次
0 0 10,14,16 * * ? 每天上午 10 点,下午 2 点,4 点执行一次
0 0/30 9-17 * * ? 朝九晚五工作时间内每半小时执行一次
0 0 12 ? * WED 每个星期三中午 12 点执行一次
0 0 12 * * ? 每天中午 12 点触发
0 15 10 ? * * 每天上午 10:15 触发
0 15 10 * * ? 每天上午 10:15 触发
0 15 10 * * ? * 每天上午 10:15 触发
0 15 10 * * ? 2005 2005 年的每天上午 10:15 触发
0 * 14 * * ? 每天下午 2 点到 2:59 期间的每 1 分钟触发
0 0/5 14 * * ? 每天下午 2 点到 2:55 期间的每 5 分钟触发
0 0/5 14,18 * * ? 每天下午 2 点到 2:55 期间和下午 6 点到 6:55 期间的每 5 分钟触发
0 0-5 14 * * ? 每天下午 2 点到 2:05 期间的每 1 分钟触发
0 10,44 14 ? 3 WED 每年三月的星期三的下午 2:10 和 2:44 触发
0 15 10 ? * MON-FRI 周一至周五的上午 10:15 触发
0 15 10 15 * ? 每月 15 日上午 10:15 触发
0 15 10 L * ? 每月最后一日的上午 10:15 触发
0 15 10 ? * 6L 每月的最后一个星期五上午 10:15 触发
0 15 10 ? * 6L 2002-2005 2002 年至 2005 年的每月的最后一个星期五上午 10:15 触发
0 15 10 ? * 6#3 每月的第三个星期五上午 10:15 触发
阅读全文 »


甲骨文其他的系统都可以进,
就是ubuntu20进不去,防火墙也放行了,甲骨文后台的安全组已经开放全部端口了。
打开并登录Xshell自己服务器账号密钥:
在未root权限输入命令:sudo -i 获取root权限,已root权限服务器可用忽略此步.然后直接复制下列命令

1
2
<!-- more -->
apt-get purge iptables

粘贴Xshell已获得root账号权限命令,按Enter回车键,等待代码加载完毕.
重启VPS后正常。


防火墙ipv6配置
关闭ipv6防火墙

1
2
3
4
5
ip6tables -F
ip6tables -X
ip6tables -P INPUT ACCEPT
ip6tables -P OUTPUT ACCEPT
ip6tables -P FORWARD ACCEPT
1
2
ip6tables -A FORWARD -p tcp --dport 11899 -j ACCEPT
ip6tables -A FORWARD -p udp --dport 11899 -j ACCEPT

本机开放ipv6防火墙特定端口80/443

1
2
3
4
ip6tables -A INPUT -p tcp --dport 80 -j ACCEPT
ip6tables -A OUTPUT -p tcp --sport 80 -j ACCEPT
ip6tables -A INPUT -p tcp --dport 443 -j ACCEPT
ip6tables -A OUTPUT -p tcp --sport 443 -j ACCEPT

本机服务端口开放 SSH:8622 HTTPS:8623

1
2
3
4
5
6
7
8
iptables -I INPUT -p tcp --dport 8622 -j ACCEPT
iptables -I OUTPUT -p tcp --sport 8622 -j ACCEPT
iptables -I INPUT -p tcp --dport 8623 -j ACCEPT
iptables -I OUTPUT -p tcp --sport 8623 -j ACCEPT
ip6tables -I INPUT -p tcp --dport 8622 -j ACCEPT
ip6tables -I OUTPUT -p tcp --sport 8622 -j ACCEPT
ip6tables -I INPUT -p tcp --dport 8623 -j ACCEPT
ip6tables -I OUTPUT -p tcp --sport 8623 -j ACCEPT

NAS服务端口开放 88

1
2
3
4
#iptables -I FORWARD -p tcp -d 192.168.9.10 --dport 88 -j ACCEPT
#iptables -I FORWARD -p tcp -s 192.168.9.10 --sport 88 -j ACCEPT
ip6tables -I FORWARD -p tcp -d 240e:XXXX:XXXX:XXXX:1a8b:15ff:fe16:5f01 --dport 88 -j ACCEPT
ip6tables -I FORWARD -p tcp -s 240e:XXXX:XXXX:XXXX:1a8b:15ff:fe16:5f01 --sport 88 -j ACCEPT

值班台服务端口开放 80,8080

1
2
3
4
5
6
7
8
#iptables -I FORWARD -p tcp -d 192.168.9.209 --dport 80 -j ACCEPT
#iptables -I FORWARD -p tcp -s 192.168.9.209 --sport 80 -j ACCEPT
#iptables -I FORWARD -p tcp -d 192.168.9.209 --dport 8080 -j ACCEPT
#iptables -I FORWARD -p tcp -s 192.168.9.209 --sport 8080 -j ACCEPT
ip6tables -I FORWARD -p tcp -d 240e:XXXX:XXXX:XXXX:f017:f31f:6d5c:79ee --dport 80 -j ACCEPT
ip6tables -I FORWARD -p tcp -s 240e:XXXX:XXXX:XXXX:f017:f31f:6d5c:79ee --sport 80 -j ACCEPT
ip6tables -I FORWARD -p tcp -d 240e:XXXX:XXXX:XXXX:f017:f31f:6d5c:79ee --dport 8080 -j ACCEPT
ip6tables -I FORWARD -p tcp -s 240e:XXXX:XXXX:XXXX:f017:f31f:6d5c:79ee --sport 8080 -j ACCEPT
阅读全文 »


20210127:更换部分windows镜像.
20210109:更新支持Ubuntu20.04安装,更新几个windows镜像.
20200708:更新自动为CN主机使用国内镜像源.
安装重装系统的前提组件:
Debian/Ubuntu:

阅读全文 »


基于openwrt官方19.07.5固件打包制作。
请勿当路由使用(不包含路由组件),适合做有管理界面的mini Linux跑一些小应用比如京东签到。

1
ip link set eth0 promisc on

创建虚拟macvlan网卡(IP、网关请根据自己的网络修改)

1
docker network create -d macvlan --subnet=192.168.11.0/24 --gateway=192.168.11.1 -o parent=eth0 macnet

创建openwrt容器

1
2
docker run -d --restart always --name openwrt --network macnet --privileged 99010/openwrt /sbin/init
docker run --restart always --name openwrt -d --network macnet --privileged sulinggg/openwrt-mini:arm64 /sbin/init

进入容器并修改相关参数

1
docker exec -it openwrt bash

执行此命令后我们便进入 OpenWrt 的命令行界面,首先,我们需要编辑 OpenWrt 的网络配置文件:

1
vi /etc/config/network

我们需要更改 Lan 口设置:

1
2
3
4
5
6
7
8
9
10
config interface 'lan'
option type 'bridge'
option ifname 'eth0'
option proto 'static'
option ipaddr '192.168.3.88'
option netmask '255.255.255.0'
option ip6assign '60'
option gateway '192.168.3.1'
option broadcast '192.168.3.255'
option dns '192.168.3.1'

6.重启网络

1
/etc/init.d/network restart

京东签到的ipk下载
https://github.com/jerrykuku/luci-app-jd-dailybonus
https://hub.docker.com/r/sulinggg/openwrt-mini

阅读全文 »
0%