0%

在Linux上,通过crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 shell script脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常适合周期性的日志分析或数据备份等工作。

设置Cron任务

创建任务

可以通过如下指令来创建或者修改你自己的crontab文件,

1
crontab -e

设置运行周期

cron job是周期性运行的,我们按如下格式来进行设置,

1
2
3
4
5
6
7
8
* * * * * command to be executed
- - - - -
| | | | |
| | | | ----- Day of week (0 - 7) (Sunday=0 or 7)
| | | ------- Month (1 - 12)
| | --------- Day of month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)

当然有更简单的方法,你可以在 https://crontab.guru/ 网站进行在线设置,设置好了直接拷贝过来。网页提供了图形化的操作界面,对新手特别友好。

Screen Shot 2019-11-22 at 10.20.04 PM.png

阅读全文 »

Github绑定域名需要完成以下两步

1. 域名解析

购买域名之后,设置CNAME记录指向github博客。比如在阿里云购买域名之后,直接增加一条CNAME记录指向 teckee.github.io即可

Screen Shot 2019-12-08 at 11.36.16 AM.png

阅读全文 »

ZooKeeper曾是Hadoop的正式子项目,后发展成为Apache顶级项目,与Hadoop密切相关但却没有任何依赖。它是一个针对大型应用提供高可用的数据管理、应用程序协调服务的分布式服务框架,基于对Zab算法的使用,使该框架保证了分布式环境中数据的强一致性,提供的功能包括:配置维护、统一命名服务、状态同步服务、集群管理等。

在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在某些应用中使用,因此需要有一种可靠的、可扩展的、分布式的、可配置的协调机制来统一系统的状态。Zookeeper的目的就在于此。

阅读全文 »

代码整洁是我们一直追求的目标,不仅仅是为了成为更好的程序员,而且也为了节省他人时间,减少阅读、维护代码的时间成本,提高工作效率。本文将从命名、函数风格、注释等不同方面对《Clean Code》中的内容进行总结。

阅读全文 »

Elasticsearch 是一个分布式的RESTful风格的搜索和数据分析工具,是当前流行的企业级搜索引擎。

基本概念

Cluster

集群通过独一无二的名称来进行区分,每个集群是由一个或者多个Node组成。不能在不同的环境中使用相同的cluster名,否则node可能错误地划分到某个cluster中。

Node

作为集群(cluster)的一部分,存储数据。

阅读全文 »

在程序中经常会写SQL从数据库中获取数据,但是如何才能提高SQL的性能,是一个值得探讨的问题,本文中将介绍常见的几种SQL调优的手段。

用一条语句来替换多条语句

1
2
3
INSERT INTO tab_comp VALUES (item1, price1, qty1);
INSERT INTO tab_comp VALUES (item2, price2, qty2);
INSERT INTO tab_comp VALUES (item3, price3, qty3);

可以改写成

1
INSERT INTO tab_comp VALUES (item1, price1, qty1),(item2, price2, qty2),(item3, price3, qty3);
阅读全文 »


利用Python多线程,可以加快程序的运行速度,利用计算机多核等优势,实现多线程的并行。接下来会介绍两种常见的多线程的处理方法,以及线程同步等内容。

threading模块

Python文档中,介绍的多线程方案,一般会引入threading模块来进行举例。主要有两种编写多线程程序的方法,下面分别进行介绍。

阅读全文 »

JNI是Java Native Interface的缩写,中文为JAVA本地调用。使用JNI可以很方便的用我们的Java程序调用C/C++程序。很多时候,某些功能用Java无法实现,比如说涉及到底层驱动的一些功能,这时候我们就可以利用JNI来调用C或者C++程序来实现,这就是JNI的强大之处。但是JNI也有它的缺点,使用java与本地已编译的代码交互,通常会丧失平台可移植性。

在Android中调用C/C++程序也是一样的,基本和Java调用的方式一致,只是Android使用NDK编译出动态链接库,供Androd程序调用。本文以一个简单的Android JNI调用程序来讲解整个过程。

阅读全文 »

安装PPTP

在Ubuntu 14.04下使用以下指令安装pptp

1
sudo apt-get install pptpd

接着编辑/etc/pptpd.conf并取消以下两行的注释即可

阅读全文 »