导航

golang 应用的部署相关技术

Posted on 2014-06-19 20:57  蝈蝈俊  阅读(1085)  评论(0编辑  收藏  举报

nohup命令

在 linux 下面部署,我们可以利用 nohup 命令,把应用部署在后端,如下所示:

nohup ./yourapp &
这样你的应用就跑在了 Linux 系统的守护进程

nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。nohup就是不挂起的意思( no hang up)。

一般如何如下两种方式使用它:
nohup command 或者 nohup command &
这之间的差别是带&的命令行,即使terminal(终端)关闭,或者电脑死机程序依然运行(前提是你把程序递交到服务器上);

使用它需要注意的问题是:它把标准输出(STDOUT)和标准错误(STDERR)结果输出到nohup.txt文件这个看似很方便,但是当输出很大的时候,nohup.txt文件会非常大,或者多个后台命令的时候大家都会输出到nohup.txt文件,不利于查找结果和调试程序。

相关请参考:http://www.2cto.com/os/201301/185701.html

kill –HUP 进程ID 热升级

先用 ps -ef | grep 应用名 找到应用所在的进程ID。

想简单的停止和重启进程。如下:
# kill -HUP PID
该命令让Linux和缓的执行进程关闭,然后立即重启。在配置应用程序的时候,这个命令很方便,在对配置文件修改后需要重启进程时就可以执行此命令。

注意,是重启进程重新读取配置文件。

参考:http://beego.me/docs/advantage/reload.md

crontab 定时任务

添加crontab 任务

image

对于crontab任务有两种方式,一种为root用户可以直接添加;一种为非root用户需要crontab -e方式来添加;以root用户为例,执行下面命令:

vi /etc/crontab

在最下面添加一条:
3 4 * * * 需要执行的命令
意思就是在每天的4点3分执行这个文件;
写好后保存退出crontab。

重启crontab服务
/etc/init.d/crond restart

 

参考:http://jingyan.baidu.com/article/11c17a2c796354f446e39ded.html

如何查看crontab定时任务是否执行

针对Linux系统的查询方法(含Redhat、SUSE)
看 /var/log/cron这个文件就可以,可以用tail -f /var/log/cron观察

如果在这个文件看到类似下面的请看:

Sep 12 10:40:02 dev crond[30256]: (root) CMD (/usr/local/mysql-standard-5.0.26-linux-i686/CollectionDataBackup/collectionDataBackup.sh)
Sep 12 10:40:03 dev crond[30255]: (root) MAIL (mailed 376 bytes of output but got status 0x0047 )

 

这里表示这个程序执行反馈的信息被Mail了,但是mail设置的问题,没有发送。当然如果发送了,则可以去下面目录去看执行提示信息:

mail任务(Linux UNIX)在 /var/spool/mail/root 文件中,有crontab执行日志的记录,用tail -f /var/spool/mail/root 即可查看最近的crontab执行情况。

参考:http://jingyan.baidu.com/article/73c3ce28e7b298e50343d925.html

tail 命令参数请看:http://www.2cto.com/os/201111/110143.html

如果不想用Mail, 则可以把执行输出自行进行控制到一个文件,自行查看。类似如下方式:

0 12 * * * /opt/oracle/rmanbackup.sh  > /home/oracle/backup.log 2>&1

 

上传rz及下载sz

sz:将选定的文件发送(send)到本地机器
rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到服务器(receive)

参考:http://www.cnblogs.com/ghj1976/p/3742062.html