幸福飞过海 - linux 2015-01-06T10:14:11+00:00 Typecho https://fengqi.me/feed/atom/tag/linux/ <![CDATA[[转载]linux定时任务如何每隔0.5秒执行一次呢?]]> https://fengqi.me/unix/325.html 2015-01-06T10:14:11+00:00 2015-01-06T10:14:11+00:00 风起 http://fengqi.me 参考:linux定时任务如何每隔0.5秒执行一次呢?

* * * * * for i in `seq 120`; do awesome_scripts& sleep 0.5; done

由crontab每分钟调度,每次唤起,循环执行120次,间隔0.5秒.

PS: 很有意思的变通啊.

]]>
<![CDATA[[记录]把 cron 日志从 rsyslog 里剥离出来]]> https://fengqi.me/unix/244.html 2014-11-29T05:34:00+00:00 2014-11-29T05:34:00+00:00 风起 http://fengqi.me 参考地址: 请问ubuntu中 cron 服务的默认日志存放位置

cron 日志默认是写到 rsyslog 去的, 如果没有日志服务器做处理, 单独剥离出来看会方便很多

修改rsyslog文件, 将/etc/rsyslog.d/50-default.conf 文件中的#cron.*前的#删掉
重启rsyslog服务service rsyslog restart
重启cron服务service cron restart
more /var/log/cron.log

done

]]>
<![CDATA[[转载]释放 Linux 系统预留的硬盘空间]]> https://fengqi.me/unix/205.html 2014-07-17T08:17:00+00:00 2014-07-17T08:17:00+00:00 风起 http://fengqi.me 原文链接: 释放 Linux 系统预留的硬盘空间

大多数文件系统都会保留一部分空间留作紧急情况时用(比如硬盘空间满了),这样能保证有些关键应用(比如数据库)在硬盘满的时候有点余地,不致于马上就 crash,给监控系统和管理员一点时间去察觉。不过有时候这部分预留的硬盘空间不用的话有点浪费。如何释放这部分系统预留的空间呢?

在 Linux ext2/ext3/ext4 文件系统上通常默认预留5%的硬盘空间,如果硬盘是 4TB 的话就意味着有 200GB 的空间就这样浪费了,我们可以通过 tune2fs 来改变5%的默认设置,比如只预留1%的空间。可不可以设成0%呢?当然可以,但是不推荐。

查看当前硬盘空间情况:

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_cloud22-lv_root
                       32G  1.1G   30G   4% /
tmpfs                  24G     0   24G   0% /dev/shm
/dev/sda1             485M   68M  392M  15% /boot
/dev/mapper/vg_cloud22-lv_home
                      3.2G   70M  2.9G   3% /home
/dev/sdd1            1008G  161G  797G  17% /var/cloud

调整 /dev/sdd1,只预留1%的空间:

# tune2fs -m 1 /dev/sdd1
tune2fs 1.41.12 (17-May-2010)
Setting reserved blocks percentage to 1% (2684381 blocks)

调整后查看释放后的硬盘空间,发现多出了 838-797=41GB 的空间:

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_cloud22-lv_root
                       32G  1.1G   30G   4% /
tmpfs                  24G     0   24G   0% /dev/shm
/dev/sda1             485M   68M  392M  15% /boot
/dev/mapper/vg_cloud22-lv_home
                      3.2G   70M  2.9G   3% /home
/dev/sdd1            1008G  161G  838G  17% /var/cloud

如果硬盘被塞满了,想清理硬盘那是另外一回事,可以参考:什么吃掉了我的硬盘?

]]>
<![CDATA[[总结]Linux上(以ubuntu为例)正常使用iPad的方法, 包括充电, 数据读取]]> https://fengqi.me/unix/linux-normal-use-ipad.html 2014-04-07T13:19:57+00:00 2014-04-07T13:19:57+00:00 风起 http://fengqi.me 两个方面:
1: 电压
2: 信任死循环

参考:
How To Mount iPhone Or iPad With iOS 7 In Ubuntu 13.10
How To Solve: iPhone or iPad Not Charging Via USB In Linux [Quick Tip]

]]>
<![CDATA[[记录]Linux查找和替换目录下所有文件中字符串]]> https://fengqi.me/unix/141.html 2013-07-08T02:00:00+00:00 2013-07-08T02:00:00+00:00 风起 http://fengqi.me 原文地址: Linux查找和替换目录下所有文件中字符串

Linux查找和替换目录下所有文件中字符串

单个文件中查找替换很简单,就不说了。文件夹下所有文件中字符串的查找替换就要记忆了,最近部署几十台linux服务器,记录下总结。

查找文件夹下包含字符串的文件
例:查找/usr/local目录下所有包含”rubyer.me”的文件。

grep -lr 'rubyer.me' /usr/local/*

vim替换单个文件中所有字符串方法
例:替换当前文件中所有old为new

:%s/old/new/g

%表示替换说有行,g表示替换一行中所有匹配点。

替换文件夹下包含字符串的文件
sed结合grep
例:要将目录/www下面所有文件中的old都修改成new,这样做:

sed -i "s/old/new/g" `grep old -rl /www`
]]>
<![CDATA[高可用负载均衡集群方案之LVS+Keepalived]]> https://fengqi.me/unix/55.html 2011-08-20T17:41:00+00:00 2011-08-20T17:41:00+00:00 风起 http://fengqi.me 首先什么是lvs这里就不介绍了, baidu一下你就知道;
为什么需要集群, 为什么需要负载均衡这里也不啰嗦了, baidu一下你就知道;
与其他方案的区别, 优异也不介绍了, baidu一下你就知道.

lvs的几个重要角色是:
1> 主控服务器master
2> 主控备用服务器backup
3> 虚拟服务器virtual server
4> 实际服务器real server

每个角色对应一个ip, realserver则对应多个, 如果你简单的了解过lvs, 就应该知道lvs的3中调度方式和10种调度算法, 这里将使用效率比较高的dr(直接路由)方式, 算法用比较合理的wrr(加权轮询)算法, 其它的模式和算法可执行尝试.
好了下面就直接开始吧, 当然了在这之前你还需要配置好realserver, 保持80通畅.

[...]

]]>
<![CDATA[CentOS下使用pptp架设vpn]]> https://fengqi.me/unix/46.html 2011-06-24T05:19:00+00:00 2011-06-24T05:19:00+00:00 风起 http://fengqi.me 我折腾了一晚上终于安装成功了, 虽然网上有很多文档了, 虽然pptp是最简单的一种, 但是基本是都是复制的, 有些地方会导致错误也没人纠正, 所以我就整理发上来.

好了, 直奔主题, 我使用的系统是centos 5.6

首先约定好, 以下代码中#...及其以后的内容为注释, 可不复制. 示例代码中如何修改的文件里已经存在可以修改成示例那样, 如果没有请添加.

1: 安装依赖软件, 直接yum:

yum makecache
yum -y update
yum -y install ppp wget iptables iptables-devel perl

解释: pptp依赖ppp和iptables运作, 同时需要perl库.

2: 安装pptp:

32位系统:

wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-2.rhel5.i386.rpm
rpm -ivh pptpd-1.3.4-2.rhel5.i386.rpm

64位系统:

wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-2.rhel5.x86_64.rpm
rpm -ivh pptpd-1.3.4-2.rhel5.x86_64.rpm

[...]

]]>
<![CDATA[批量建立目录]]> https://fengqi.me/unix/41.html 2011-06-18T10:45:00+00:00 2011-06-18T10:45:00+00:00 风起 http://fengqi.me 先看看示例吧:

[wind@windphp test]$ mkdir {1..9}
[wind@windphp test]$ ls
1  2  3  4  5  6  7  8  9
[wind@windphp test]$ mkdir {a..z}
[wind@windphp test]$ ls
1  2  3  4  5  6  7  8  9  a  b  c  d  e  f  g  h  i  j  k  l  m  n  o  p  q  r  s  t  u  v  w  x  y  z

首先是建立1-9的9个目录, 然后是是a-z的26个目录, 这里的范围是可以自定的, 当然了, 范围要合理, 比如字母范围如果是双数就不行了哦.

如果是乱序的, 就麻烦点了. 如下:

[wind@windphp test]$ mkdir {a,1,5}
[wind@windphp test]$ ls
1  5  a
]]>
<![CDATA[{}大括号的用法(把文件/目录备份/复制/在文件所在目录下)]]> https://fengqi.me/unix/40.html 2011-06-18T10:25:00+00:00 2011-06-18T10:25:00+00:00 风起 http://fengqi.me 先看看示例代码:

[wind@windphp ~]$
[wind@windphp ~]$ mkdir -p test/a
[wind@windphp ~]$ cd test/
[wind@windphp test]$ ls
a
[wind@windphp test]$ mv /home/wind/test/{a,b}
[wind@windphp test]$ ls
b

上述代码将/homw/wind/test/目录下的a目录重命名成b, 再看:

[wind@windphp test]$ touch a.txt
[wind@windphp test]$ cp /home/wind/test/a.txt{,.bak}
[wind@windphp test]$ ls
a.txt  a.txt.bak  b

上述代码将/home/wind/test/目录下的a.txt备份成a.txt.bak, 不过也可以写成:

cp /home/wind/test/{a.txt,a.txt.bak}

这样就更清晰, 好理解了. 至于详细的使用可以自己多试试.

]]>
<![CDATA[Linux 技巧:让进程在后台可靠运行的几种方法]]> https://fengqi.me/unix/37.html 2011-06-17T14:49:00+00:00 2011-06-17T14:49:00+00:00 风起 http://fengqi.me 原文链接: Linux 技巧:让进程在后台可靠运行的几种方法

我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败。如何让命令提交后不受本地关闭终端窗口/网络断开连接的干扰呢?下面举了一些例子, 您可以针对不同的场景选择不同的方式来处理这个问题。

nohup/setsid/&

场景:
如果只是临时有一个命令需要长时间运行,什么方法能最简便的保证它在后台稳定运行呢?

hangup 名称的来由
在 Unix 的早期版本中,每个终端都会通过 modem 和系统通讯。当用户 logout 时,modem 就会挂断(hang up)电话。 同理,当 modem 断开连接时,就会给终端发送 hangup 信号来通知其关闭所有子进程。

解决方法:

我们知道,当用户注销(logout)或者网络断开时,终端会收到 HUP(hangup)信号从而关闭其所有子进程。因此,我们的解决办法就有两种途径:要么让进程忽略 HUP 信号,要么让进程运行在新的会话里从而成为不属于此终端的子进程。
1. nohup

[...]

]]>