0

3489

linux系统计划任务crontab笔记

一、cron.d增加定时任务

当我们要增加全局性的计划任务时,一种方式是直接修改/etc/crontab。但是,一般不建议这样做,/etc/cron.d目录就是为了解决这种问题而创建的。

例如,增加一项定时的备份任务,我们可以这样处理:在/etc/cron.d目录下新建文件backup.sh,内容如下:

# m h dom mon dow user command

* 1 * * * root /sbin/mon_zetc_logtar.sh

cron进程执行时,就会自动扫描该目录下的所有文件,按照文件中的时间设定执行后面的命令。

cron执行时,也就是要读取三个地方的配置文件:

一是/etc/crontab,二是/etc/cron.d目录下的所有文件,三是每个用户的配置文件

二、控制对 cron 的使用

/etc/cron.allow 和 /etc/cron.deny 文件被用来限制对 cron 的使用。这两个使用控制文件的格式都是每行一个用户。两个文件都不允许空格。如果使用控制文件被修改了,cron 守护进程(crond)不必被重启。使用控制文件在每次用户添加或删除一项 cron 任务时都会被读取。

……

乐果   发表于   2017 年 09 月 13 日 标签:linux 继续阅读

0

4642

nginx+lua+openresty动态二维码生成方案

最近,公司系统与阿里体育对接,在门票业务上我们需要返回二维码图片给对方(可能线下过闸机识别的需要),有几个方案可以选择,公司后端技术栈都集中在php,但用php动态生成效率不高,于是考虑用golang,网上也有一些类库包:github.com/skip2/go-qrcode,但后来发现有人用nginx扩展即实现了,所以我决定也尝试下,顺便熟悉下lua、openresty。

一、安装nginx_lua_module以及echo-nginx-module

Ngx_lua手动编译进Nginx。

首先,我的 Nginx 安装路径为:/usr/local/nginx。

我将尝试编译的两个模块:echo,lua。

所需要的模块如下:

luajit             http://luajit.org 
lua                http://www.lua.org 
ngx_devel_kit      https://github.com/simpl/ngx_devel_kit 
echo-nginx-module  https://github.com/agentzh/echo-nginx-module 
lua-nginx-module   https://github.com/chaoslawful/lua-nginx-module  

前期准备工作

1、安装nginx,版本必须大于1.6,如果已经安装了nginx,则需要重新编译安装下,把conf备份下。

……

乐果   发表于   2017 年 09 月 13 日 标签:nginxlua 继续阅读

0

4869

golang对map未带锁的读写,并发情况下导致致命错误

对于智能硬件云端服务,用golang来写服务端非常适合。

公司因系统对接智能灯控,本人写了一个服务,经过几个月的生产环境验证已稳定运行了很久, 但上周末,服务突然挂了。查看日志,锁定一段致命错误提示:concurrent map iteration and map write

如下截图:

……

乐果   发表于   2017 年 08 月 28 日 标签:golang 继续阅读

0

4471

mac配置VSCode开发Golang过程中的坑

安装Visual Studio Code在此不详细说明了,网上资料一堆,在此简单说明下安装过程的坑:

先后安装好Visual Studio Code、golang扩展插件、以及扩展插件所依赖的包后,调试发现报错,主要原因是 dlv这个依赖包安装出了问题,我们一般是用go get 来安装的:

go get -u -v github.com/derekparker/delve/cmd/dlv

这在windows系统下是没问题的,但在mac下不行,网上说是因为签名权限等,因此最好用brew命令来安装,例如:

brew install go-delve/delve/delve

但安装失败:

……

乐果   发表于   2017 年 08 月 23 日 标签:golangmac 继续阅读

0

2610

内存不足导致mysql无法启动

最近,朋友的博客经常挂,拜托我上去找下原因,最后发现mysql挂了导致的。

手动启动,发现启动不了,查看日志:

130629  5:46:48 InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137363456 bytes) failed; errno 12
130629  5:46:48 InnoDB: Completed initialization of buffer pool
130629  5:46:48 InnoDB: Fatal error: cannot allocate memory for the buffer pool
130629  5:46:48 [ERROR] Plugin 'InnoDB' init function returned error.
130629  5:46:48 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
130629  5:46:48 [ERROR] Unknown/unsupported storage engine: InnoDB
130629  5:46:48 [ERROR] Aborting

从日志中大概能看出内存的问题,百度了一下相关问题,果然是,网上说内存不足导致的,用free命令查看了验证了下,确实如此内存被消耗查不多了,并且系统未分配swap。

于是,解决思路就是增加swap:

……

乐果   发表于   2017 年 08 月 09 日 标签:mysql 继续阅读

较旧的文章 较新的文章
热评文章