分页: 2/19 第一页 上页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]
Jun 16
一、下载安装epel源
CentOS 6.x
引用

1、32位系统
rpm -Uvh http://mirrors.sohu.com/fedora-epel/6/i386/epel-release-6-8.noarch.rpm
2、64位系统
rpm -Uvh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm

CentOS 5.x
引用

1、32位系统
rpm -Uvh http://mirrors.sohu.com/fedora-epel/5/i386/epel-release-5-4.noarch.rpm
2、64位系统
rpm -Uvh http://mirrors.sohu.com/fedora-epel/5/x86_64/epel-release-5-4.noarch.rpm


二、安装master
yum -y install salt-master

2.1、修改配置文件中的监听IP:
vi /etc/salt/master
把14行的#interface: 0.0.0.0修改为你的内网IP或者其他,本例修改为:interface: 192.168.1.4

2.2、启动master
/etc/init.d/salt-master start

2.3、设置master开机自启动
chkconfig salt-master on

三、salt-minion安装
yum -y install salt-minion

3.1、修改配置文件
vi /etc/salt/minion
把11行的master的地址修改为:master: 192.168.1.4
把42行的id修改为:id: vhost16  (注:你可以按照你服务器的分类来命名,方便管理)

3.2、启动minion
/etc/init.d/salt-minion start

3.3、设置minion开机自启动
chkconfig salt-minion on

回到master执行salt-key -L ,会列出当前已经认证和还没有认证的主机,vhost16就是我们刚才才添加的主机。
点击在新窗口中浏览此图片
接下来我们执行:
salt-key -a vhost16
来通过认证。
点击在新窗口中浏览此图片
或者你可以执行:salt-key -A  全部认证。

四:测试
salt 'vhost' test.ping
点击在新窗口中浏览此图片
salt 'vhost*' cmd.run 'date'
点击在新窗口中浏览此图片

更多使用方法请参考官方文档:
http://docs.saltstack.com/en/latest/
http://docs.saltstack.cn/
Jun 14
    /var/spool/clientmqueue目录,如果系统中有用户开启了cron,而cron中执行的程序又有输出内容,输出内容会以邮件形式发给cron的用户,而sendmail没有启动所以就产生了这些文件。

    如果你确定你的系统没有启动sendmail对外发送邮件,你就可以把这个目录给清空,释放磁盘空间,可能你发现这个问题的时候该目录已经存在大量的文件了,执行 rm -f  * 删除的时候就会提示:"-bash: /bin/rm: Argument list too long" 无法删除,这时候你可以试试使用:ls | xargs rm -f 或 find /var/spool/clientmqueue/ -type f -exec rm {} \; 来删除这些文件。

    解决方法:在你的crontab执行命令的后面加上 >/dev/null 2>&1 ,丢弃计划任务执行时产生的错误或输出的内容。
Mar 20
sleep() 与 usleep()

       想要延迟数秒的时间, 最佳的方法大概 是使用函式 sleep() . 想要延迟至少数十毫秒的时间 (10 ms 似乎已是最短的延迟时间了), 函式 usleep() 应该可以使用. 这些函式是让出 CPU 的使用权 给其他想要执行的行程 (processes) (``自己休息去了''), 所以没有浪费掉 CPU 的时间. 细节请参考 sleep(3) 与 usleep(3) 的说明文件.
  如果让出 CPU 的使用权因而使得时间延迟了大约 50 毫秒 (这取决於处理器与机器的速度, 以及系统的负荷), 就浪费掉 CPU 太多的时间, 因为 Linux 的排程器 (scheduler) (单就 x86 架构而言) 在将控制权发还给你的行程 (process) 之前通常至少要花费 10-30 毫秒的时间. 因此, 短时间的延迟, 使用函式 usleep(3) 所得到的延迟结果通常会大於你在参数所指定的值, 大约至少有 10 ms.

需要注意的是在 windos 下面 sleep() 函数精度为毫秒级, 而在 Linux下面的 sleep() 函数精度为秒级,  usleep() 已被废除, 可以使用nanosleep() 替代.

nanosleep()

  在 Linux 2.0.x 一系列的核心发行版本中, 有一个新的系统呼叫 (system call), nanosleep() (请参考 nanosleep(2) 的说明文件), 他让你能够 休息或延迟一个短的时间 (数微秒或更多).

  如果延迟的时间 <= 2 ms, 若(且唯若)你执行中的行程 (process) 设定了软体的即时 排程 (就是使用函式 tt/sched_setscheduler()/), 呼叫函式 nanosleep() 时不是使用一个忙碌回圈来延迟时间; 就是会像函式 usleep() 一样让出 CPU 的使用权休息去了.

  这个忙碌回圈使用函式 udelay() (一个驱动程式常会用到的核心内部的函式) 来达成, 并且使用 BogoMips 值 (BogoMips 可以准确量测这类忙碌回圈的速度) 来计算回圈延迟的时间长度. 其如何动作的细节请参考 /usr/include/asm/delay.h).

pthread_delay_np()

      pthread_delay_np() 类似于 sleep(),  细节请参考 pthread_delay_np(3)的说明文件. 不过需要注意的是在 Linux 下的C并没有此函数, 大概是由于在Linux下, 所有的线程本质上都是一个进程, 有clone系统调用派生, 在内核看来, 他和一个普通进程没有什么差别, 区别就在于他和派生他的进程共享同一块内存(或者是说mm_struct)吧, 某个进程的sleep不大可能阻塞其它进程.


sleep:单位为秒,1秒

usleep:单位为微秒,1/1000 秒

select:单位为微秒,1/1000 000 秒

nanosleep:单位为毫微秒,也就是纳秒,1/1000 000 000 秒
Feb 23
nslookup是用来查询本机域名解析情况的常用工具之一,不过有一些linux系统默认并没有安装,我们在执行nslookup的时候就会报 -bash: nslookup: command not found 错误,解决方法很简单,我们把nslookup安装了就可以了,
一、Fedora / Centos:
yum install bind-utils

二、Ubuntu:
sudo apt-get install dnsutils

三、Debian:
apt-get update
apt-get install dnsutils

关于Nslookup命令的用法请参见:http://www.zhanghaijun.com/post/299/
Tags: , ,
Jan 14
一、BC
[root@838271 ~]# echo "0.14 > 0.15" | bc
0
[root@838271 ~]# echo "0.14 < 0.15" | bc
1
[root@838271 ~]# echo "0.14 = 0.15" | bc
(standard_in) 1: syntax error
[root@838271 ~]# echo "0.14 == 0.15" | bc
0
[root@838271 ~]# echo "0.14 == 0.14" | bc
1
[root@838271 ~]# echo "0.14 >= 0.14" | bc
1
[root@838271 ~]# echo "0.14 > 0.14" | bc
0

然後參考:
a=1.6
b=6.1
c=`echo "$a > $b" | bc`
然後,如果 $c 是 1 ,那就成立,否則不成立。

二、expr
[root@838271 ~]# expr 0.14 \> 0.15
0
[root@838271 ~]# expr 0.14 \< 0.15
1
[root@838271 ~]# expr 0.14 \= 0.15
0
[root@838271 ~]# expr 0.14 \== 0.15
0
[root@838271 ~]# expr 0.14 \== 0.14
1
[root@838271 ~]# expr 0.14 \>= 0.14
1
[root@838271 ~]# expr 0.14 \> 0.14
0

三、AWK
awk -v a=7.9 -v b=11.5 'BEGIN{print(a>b)?"a":"b"}'
Tags: , , ,
分页: 2/19 第一页 上页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]