搭建自己的Google--nginx反向代理Google(ubuntu 16.04)

最近由于不能描述的原因,很多服务器挂了……

实际上,作为技术人员,翻墙之所以为刚需,就是为了Google。

bing是残废;baidu是垃圾;唯有Google才能准确提供相关技术文档。

那么,在目前的网络环境下,如何能低风险的访问Google(节省下有关部门的茶钱)?

继续阅读···

displayswitch.exe -- 快速关闭、打开第二显示器

最近更换了dell显示器后,发现Intel的HD4000显卡在多显示器的情况下,偶尔会跳动。

很烦,不过也没必要换显卡,毕竟第二显示器只是在调试的时候才会用到,平时都是关闭。

不过,作为懒蛋,俺并不喜欢到系统自带的显示配置里面去关闭显示器。

于是,可以使用这个工具:displayswitch.exe

继续阅读···

shuf--随机获取文件中的N行

shuf , GNU命令集中的一员。一般用来对输入数据进行随机排序。(和sort –random-sort很像)。

例子:

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
$ls -1
data
doc
images
lib
LICENSE
markpress
markpress.py
README.md
wordpress.ini
$ls -1 | shuf
markpress.py
images
doc
markpress
data
wordpress.ini
LICENSE
lib
README.md
$cat SO_BIG_FILE.txt | shuf -n 5
从某个超大文件中随机选取5行
$shuf -r -n 100 -e Head Tail
随机丢100次硬币。`-r` 是指可以重复选取。

PS:偶尔看看info coreutils 挺长见识的。

Let's encrypt CertBot的一个bug--附修改

在虚拟主机的模式下,certbot在生成www子域名的时候,会出现问题。

原来的向导类的方法选择后,会造成www子域名使用根域名的证书,从而出错。

如果出现问题,可以这么操作:

将原本的向导自选的脚本:

1
sudo certbot --nginx

改为强制指定域名:

1
sudo certbot --nginx -d www.xxxxxxx.com

certbot提示是否重新验证,同意即可。

Wordpress中,自动修改发布时间的js书签

最近在搞一个采集站。用wordpress实现展示。

一番爬虫采集后,用python post到wordpress的草稿箱中。

问题来了,每次审核发布的时候,发布时间竟然是以进草稿箱为准。

这不能忍啊。每次审核发布后,时间都得手动调整,太累。

方法很多种,这里用最简单的。

在箭头的地方输入以下js代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
javascript:void((function(){
aa = document.getElementById('aa');
mm = document.getElementById('mm');
jj = document.getElementById('jj');
hh = document.getElementById('hh');
mn = document.getElementById('mn');
var curDate = new Date();
aa.value = curDate.getFullYear();
mm.selectedIndex = curDate.getMonth();
jj.value = curDate.getDate();
hh.value = curDate.getHours();
mn.value = curDate.getMinutes();
})());

这样,发布前点击下这个书签,时间就改成当前时间了。

PS:为啥一个嵌入式工程师懂这个????

Python自动爬取Bing每日美图(crontab)

入门向的帖子。给某人的教程。

首先是python爬虫脚本。注意,里面有输入日志,用来保留图片的url。

没加什么异常容错,就是单纯的原理脚本。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import re, requests, urlparse, os, datetime
bing_url = 'http://cn.bing.com'
c = requests.get(bing_url).content
# 正则的标签模式,可以用dict来轻松访问,省得元组编号了。
r = 'g_img={url: "(?P<url>.+?)"'
img_path = re.search(r, c).groupdict()['url']
img_url = urlparse.urljoin(bing_url , img_path)
today_str = datetime.datetime.now().strftime("%Y-%m-%d")
# print作为日志输出。在shell中重定向到日志文件中即可
print '{}:{}'.format(today_str, img_url)
file_name = '{}_{}'.format(today_str, os.path.basename(urlparse.urlsplit(img_url).path))
# stream流模式,方便保存图片。
resp = requests.get(img_url, stream=True)
if resp.status_code == 200:
with open(file_name, 'wb') as f:
for chunk in resp.iter_content(1024):
f.write(chunk)

然后,用crontab -e 来添加一个日常任务。每天凌晨1:30分跑起来:

1
30 1 * * * cd /srv/bing_daily_image; /usr/bin/python /srv/bing_daily_image/bing_daily_image.py >> /srv/bing_daily_image/record.log 2>&1

Bingo~