inotify监控目录变化重启服务器tornado项目

pycharm 配置了提交服务器项目每次pycharm修改后,虽然保存到服务器但是项目还得自己去服务器kill再启动。就花几分钟写了shell脚本用于监控项目目录变化并重启tornado项目的脚本

如果技术不懂需要请联系我

[[email protected] scripts]$ cat realtime_rsync.sh
#!/bin/bash
#para
host01=10.0.0.253
#src=/backup
src="/home/liujianzuo/htdocs/tornado/my_tornado_blog/my_tornado_blog"
dst=backup
user=rsync_backup
rsync_passfile=/etc/rsync.password
inotify_home=/usr/local/inotify/

${inotify_home}/bin/inotifywait -mrq --timefmt ‘%d/%m/%y %H:%M‘ --format ‘%T %w%f‘ -e close_write,delete,create,attrib $src         | while read file
                do
                /bin/sh /server/scripts/manage.sh
               done
[[email protected] scripts]$ cat manage.sh
#!/bin/bash
#by liujianzuo
# date:20160801
pid=`ps -ef |grep App.py|grep -v grep|awk ‘{print $2}‘`
n=`echo $pid|wc -m`
echo $pid
echo $n
if [ $n -lt 2 ];then
        cd /home/liujianzuo/htdocs/tornado/my_tornado_blog/my_tornado_blog
        nohup python3 App.py &
else
        ps -ef |grep App.py|grep -v grep|awk ‘{print $2}‘|xargs kill
        ps -ef |grep App.py|grep -v grep|awk ‘{print $2}‘|xargs kill

fi
  

  

时间: 2024-10-10 17:55:39

inotify监控目录变化重启服务器tornado项目的相关文章

inotify监控文件变化

1.安装inotify-tools yum install make  gcc gcc-c++  #安装编译工具 inotify-tools下载地址:http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz 上传inotify-tools-3.14.tar.gz到/usr/local/src目录下 cd /usr/local/src tar zxvf inotify-tools-3.14.tar.g

使用inotify和rsync进行nfs服务器共享目录实时推送到backup服务器

1.1 查看环境 1.1.1 backup服务端的环境 [[email protected] nfsbackup]# uname -a Linux backup 2.6.32-696.el6.x86_64 #1 SMP Tue Mar21 19:29:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux iptables的状态 [[email protected] nfsbackup]# /etc/init.d/iptables status iptables:

使用rsync+inotify的方式监控一个目录,当被监控目录下的子目录被移走后无法同步的问题

最近在测试rsync+inotify的方式同步PHP代码到一个集群下的WEB服务器.如被监控的目录是/var/www/html下有三个目录 dream_android  dream_ios  game_router 当我把dream_android这个目录更名为android后,发现其他服务器上没有出现android并且原有的dream_android并没有被删除.测试游戏时发现大量的404错误,最大的问题就是代码同步出现了问题. 检查同步脚本中inotify和rsync相关的信息 /usr/b

基于sentry的前端错误监控日志系统(部署sentry服务器/前端项目部署)-让前端最快的定位到生产问题

背景 在这越来越发达的网络时代,web应用也是越来越复杂,尤其是前端的开发,也是越来越受重视. 所以在我们前端开发完成后,会有一些列的web应用的上线验证,如自测.QA测试.code review 等,以确保 应用能在生产上没有事故. 但是事以愿违,很多时候我们都会接受的客户的一些线上问题,这些问题有时候可能你是自己开发的原因本身存 在的问题,这样的问题一般能够在测试环境重现,我们很快的能定位到问题关键位置.但是,很多时候有一些问题, 我们在测试中并未发现,可是在线上却有部分人出现了,问题确确实

php 监控文件变化 并上传到服务器

最近有个思路.想要监控本地文件变化 并上传到指定服务器. 刚开始有这个想法的时候找了很多资料.关于 windows 和linux 上怎么监控文件变化的 最后选择了 比较MD5值的方法. 我也写了一段 但是也大同小异. 于是 其中借用了别人的代码 他的github 是 https://github.com/tansuo1989/mydemo/blob/master/php-demo/file_watch.php 话不多说 上代码 <?php /** * Created by PhpStorm. *

关于linux服务器进程监控及自动重启的简单方案

转载请注明出处:帘卷西风的专栏(http://blog.csdn.net/ljxfblog) 本周开始,新手游进行删档封测阶段,前两天表现还好,今天更新后出现几次宕机行为,比较影响玩家的测试和体验,我们的服务器管理系统尚未完善,为了晚上能够预防宕机造成损失,先用一种简单的方案临时顶替一下. 实现原理主要是使用linux提供的crontab机制,定时查询服务器进程是否存在,如果宕机则处理我们预设的脚本. 首先我们要向crontab加入一个新任务. # crontab -e:进入编辑状态,其实就是使

golang 通过fsnotify监控文件,并通过文件变化重启程序

一.下载我们需要的包 > go get github.com/fsnotify/fsnotify 二.使用fsnotify监控文件 package main; import ( "github.com/fsnotify/fsnotify" "log" "fmt" ) func main() { //创建一个监控对象 watch, err := fsnotify.NewWatcher(); if err != nil { log.Fatal(

zabbix监控目录大小

 Zabbix监控文件大小 在agent端编写监控脚本 [email protected]:/root # cat /etc/disk-checksize #!/bin/bash directories_size=`sudo du -sb /home | awk '{print $1}'` echo $directories_size 修改配置文件 指定key为disk.checksize,脚本文件为/etc/disk-checksize [email protected]:/root # ca

解决往监控目录拖拽文件夹无法监控到的问题

在项目中一个应用场景是监控一个目录变化,但从监控目录外部拖拽一个文件夹进来,拖拽进来的文件夹里的文件无法监控到,通过查看资料,发现是一个参数的设置 #include <iostream> #include "DirectoryChanges.h" #include "MyDirectoryChangeHandler.h" int main() { wcout.imbue(locale("CHS")); CDirectoryChange