Jump to Navigation

Linux

Linux/Unix操作系统

使用inotifywait命令监控服务器svn的修改

一般在维护SVN服务器的时候,都会有一些特殊的需要,比如对svn目录的的自动checkout,checkout后的文件权限修改,以及对更新的文件做某些处理。

这里展示一个我这服务器使用的一个简单脚本,是用来处理某些本地操作方式导致svn的目录中文件权限出错的问题。

其重点还是介绍linux系统的inotify模式功能,异步IO事件机制在实际工作中的应用。
异步事件的分类大概包括:文件创建,文件修改,文件打开、关闭等,还有一些组合戒指事件,可以使用man inotify获取更准确详细的说明。
这个模式在使用其他语言处理IO事件的时候也结非常有用,像在C/C++,PHP,等。

比如,如果没有这种异步IO事件通知的话,如果希望知道某目录下的文件修改,可能需要定时列出目录下的文件做比较,这种方法古老低效,容易出错。

示例演示,

Category:

gnu 命令行 win32移植 gow

安装包与源代码包下载:
https://github.com/bmatzelle/gow/downloads

Gow-0.7.0.exe — Gow 0.7.0 - Windows Installer
8.1MB · Uploaded 4 months ago

gow-utilities-src-0.7.0.tar — Gow 0.7.0 - Source Code
43.9MB · Uploaded 4 months ago

Category:

linux桌面优化-pulse-shm

目前使用arch linux,今天开机,偶然发现在/dev/shm目录不为空.
按说,这个目录一般使用的程序都是临时的,不会一直保存,所以看了一眼,
却发现有6个pulse-shm-xxx文件,每个文件65M,这不是一共占用了390M内存吗,还得了吗。
从文件名确认这一定是pulseaudio的文件了,查了下它的相关文档,
发现其实可以不使用共享内存的,其实还可以使用socket文件通信,
需要修改下默认的配置,/etc/pulse/daemon.conf设置项,enable-shm = no,
启动后没有这个文件了。
别一种方式,修改成system-instance模式启动pulseaudio,默认也不会使用共享内存,

不过,在有这个文件的时候,也不太好理解,文件显示大小与占用大小有区别,
du -hs /dev/shm
36K /dev/shm/

Category:

支持上传文件的web压力测试方法

1。常用的web压力测试工具有ab(apachebench)和webbench、siege。

常用的web调试工具有wget,curl。

本篇从压力测试的角度讲,以前两者为主,后两者主要列举它们的几个相应的用法。

2、由于网络上少见关于ab 的POST上传文件文章,就先从这个用法说起。

在post上传文件时,需要使用multipart/form-data模式上传,这样服务器端才能正确识别上传的文件信息。

命令行:ab -v 2 -T "multipart/form-data; boundary=---1234abcd" -p ~/abpost.txt http://yourhost/upload.php

在进行压力测试的时候,可以添加-n 500 -c 5参数,执行并发为5的请求,累计发出500次请求。

3、abpost.txt文件内容(注意不需要带==的头尾两行):

注:前面3个是普通的字符串值,最后一个是文件上传域。

=====开始==========

linux笔记本过热调频控制算法+脚本

由于笔记本几年没有除尘了,风扇降温效果非常差了,开几个软件可能出来过热死机。
使用几个调频软件一直没有设置成我需要的方式,只好自己先写一个简单的工具。

已测试系统; gentoo linux,arch linux。

调频软件包使用的新的调频包cpupower。

算法说明:
开始的时候使用laptop-mode的默认ondemand档
每隔1-2秒检测一下CPU的温度,
如果没有超过90度,忽略本次检测
如果超过90度,转为userspace档,设定CPU频率为最低
记录当前时间
如果低于60度,如果是我们设置了固定的频率(使用记录时间值和当前的频率设定档是否是userspace检测)
则,返回到ondemand档
否则,忽略本次检测。
完成

附后;
查看CPU温度:
cat /sys/devices/virtual/hwmon/hwmon0/temp1_input

Category:

最近arch linux改变

使用的比较新的arch linux,应该能代表linux系统的发展过程。

最近改动比较大,记录这些改动,熟悉linux系统的发展过程。

1、udev与systemd的合并
在arch linux表现为udev包不见,取代之的为systemd-tools包。

2、libusbx要取代libusb。
还不太清楚这个libusbx是什么东西。

3、kmod取代module-init-tool
内核模块加载组件的升级。

4、cpupower替代cpufrequtil
调频节能内核工具。

Category:

Unix/Linux一个链接参数

在看代码的时候,发现一些代码的链接使用这个链接参数,-Wl,-z,noexecstack

搜索查找,发现这是一个比较接近“hack"类的功能,与-shared参数差不多,链接一个不可执行的ELF,相当于动态链接库。

还有一个工具叫execstack,可以对现有的ELF文件操作,添加或者去掉”执行“属性。

这些工具现在默认在Unix/Linux都不带了,看到一些讨论,去掉的原因就是太接近"hack"功能了,并且有更简洁直接的替代方法,像在链接是选择使用-shared或者不使用。

如果没有这个工具,如何对已有的ELF文件操作。

Category:

Shell中的.bashrc和.bash_profile的区别

一向常用的用户定义变量会放置在这个位置,两个位置都能生效,不过也有些区别,

.bashrc是在每个bash实例启动时都会执行的配置变量

.bash_profile相当于对bash全局的设置,在第一个bash实例启动时即已经初始化

不知道这么理解的对不对,试试看。

Category:

今天试了一把更强大的ssh X11forwarding功能

这次使用主要解决了两个问题,
一个是在centos 服务器上的配置。
另一个是在启动的程序中使用中文输入法的功能。
对forwading模式下的X渲染风格机制了解了一点。

1. 远程服务器为centos 6.2 x86_64
在/etc/sshd_config中开启下面三个sshd服务端配置参数:
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes

重启动sshd, /etc/init.d/sshd restart

2.确认安装了必须的包,
xterm,测试包,能了之后,执行这个程序可在本地显示。
xorg-x11-xauth,这个必须安装,否则无法实现基于ssh的x11forwarding功能。
需要安装两个字体包,不然可能有些X程序无法运行,像wqy-zenhei-fonts dejavu-lgc-sans-mono-fonts。

3。重新登陆ssh,测试xterm是否正常运行

ssh -C -XY younam@youhost

Category:

Linux中利用ffmpeg转换手机支持的mp4格式视频文件

首先当然是需要安装ffmpeg软件包,可以直接从源中进行安装!但我安装后并不能成功执行后面所需要执行的转换命令,所以我只能重新从源码编译安装ffmpeg:

(1)下载ffmpeg源码包,注意版本不能太高,应该与直接从源中安装的版本大抵相当最好;我刚开始下的版本比较高,编译时提示说有一个编译选项找不 到,我到网上也没搜出什么结果,所以只能又降低了版本,最后使用的是ffmpeg-0.4.9-p20050906.tbz!

(2)参考文档 https://wiki.ubuntu.com/ffmpeg 进行编译安装,在编译的时候可能还会有很多错误提示,但多半是由于某些头文件找不到所致,所以直接从源中安装提供这些头文件的包即可(技巧提示,可以在源中直接搜索头文件*.h去掉后缀.h的名称*即可,一般需要安装其对应的*-dev包)!

安装完毕之后就可以进行转码操作了:

Category:

页面

订阅 RSS - Linux


Main menu 2

by Dr. Radut