老男孩
  
  演唱:筷子兄弟
  
  那是我日夜思念深深爱着的人呐
  到底我该如何表达
  她会接受我吗
  也许永远都不会跟他说出那句话
  注定我要浪迹天涯
  怎么能有牵挂
  梦想总是遥不可及
  是不是应该放弃
  花开花落又是雨季
  春天啊你在哪里
  
  青春如同奔流的江河
  一去不回来不及道别
  只剩下麻木的我没有了当年的热血
  看那漫天飘零的花朵
  在最美丽的时刻凋谢
  有谁会记得这世界她来过
  
  转眼过去多年时间多少离合悲欢
  曾经志在四方少年羡慕南飞的燕
  各自奔前程的身影匆匆渐行渐远
  未来在哪里平凡啊谁给我答案
  那时陪伴我的人啊你们如今在何方
  我曾经爱过的人啊现在是什么模样
  
  当初的愿望实现了吗
  事到如今只好祭奠吗
  任岁月风干理想再也找不回真的我
  抬头仰望着满天星河
  那时候陪伴我的那颗
  这里的故事你是否还记得
  
  生活像一把无情刻刀
  改变了我们模样
  未曾绽放就要枯萎吗
  我有过梦想
  
  青春如同奔流的江河
  一去不回来不及道别
  只剩下麻木的我没有了当年的热血
  看那满天飘零的花朵
  在最美丽的时刻凋谢
  有谁会记得这世界它曾经来过
  当初的愿望实现了吗
  事到如今只好祭奠吗
  任岁月风干理想再也找不回真的我
  抬头仰望着满天星河
  那时候陪伴我的那颗
  这里的故事你是否还记得
  如果有明天祝福你亲爱的
  
  问佛:为什么总也遗憾?

  佛曰:没有遗憾,无法体味幸福。

  问佛:为什么下雪总在夜里?

  佛曰:美好的东西总在不经意间流走。

  是日高考,书“大同世界,焉能忘本?”,感慨系之,故作此文。后之览者,亦将有感于斯文。
阅读全文
2011年高考今天正式拉开帷幕,933万学子参加考试。11:30语文考试结束,2011全国各地高考作文题相继出炉。阅读全文
导出一台电脑里的IE收藏夹到另外一台后,发现乱码,只好重新修改了导出的文件编码,可刚才的网址已经导入了众多,如果一条条删除很费时,也很麻烦,于是需要清空的快捷方法,上网查了下,直接删除就行了:
C:\Documents and Settings\Administrator\Favorites
里面去删拉
NGINX_HTTP_Push_Module是一个Nginx服务器模块,可以实现服务器端的长连接和推送(但是推送一次后会结束进程,尚未实现持续的推送)。
NGINX_HTTP_Push_Module是一个Nginx服务器模块,可以实现服务器端的长连接和推送(但是推送一次后会结束进程,尚未实现持续的推送)。



http://pushmodule.slact.net可以下载该模块。

如果已安装Nginx,需要重新编译安装Nginx,要用命令"./configure --add-module=/home/hfahe/ngnix_http_push_module"来配置,然后执行make和make install来安装Nginx。

安装完成后,在Nginx配置文件的Server段里添加两个路径配置:

location /publish {
    set $push_channel_id $arg_id;
    push_publisher;
    push_store_messages on;
    push_message_timeout 2h;
    push_max_message_buffer_length 10;
}
location /activity {
    push_subscriber;
    set $push_channel_id $arg_id;
    push_subscriber_concurrency broadcast;
    default_type text/plain;
}

重启Nginx后,请求http://localhost/activity?id=10000的地址,可以看到浏览器处于请求堵塞阶段。

阅读全文
因为什么人事物而成功,也可能因为这个人事物而失败.关注事物的两面性的意思.阅读全文
Apache模块开发/用C语言扩展apache(1:简述)
by linux_prog
   Apache是一个非常稳定而且非常open的web server,它的很多功能都可以通过plugin的方式去扩展。
比如:mod_proxy使得apache可以作代理, mod_rewrite使得apache可以实现非常强大的url mapping和rewritting
功能,你是否也想自己来开发一个apache module呢?网上这方面的文章非常的少,而且全是E文,
希望我的这篇文章能够给你一些实质性的帮助。阅读全文
  今年2月2日,国外媒体报道,Google Android平台在2010年第四季度超越nokia Symbian成为全球最大智能手机平台,结束了Symbian引领智能手机市场长达10多年的历史。就这样一款机器人,拯救了moto,巅峰了HTC。android是如何将智能手机市场霸主Symbian一步步拉下神坛,自己又是如何步步为营,转向坐上全球智能手机操作系统的王座,手段和策略值得深思!
  android是一款基于Linux内核的操作系统,Google2005年收购android inc.之后,在原有操作系统的基础上采用软件叠层(software stack)的技术架构,分别为基础层,中间层,用户界面和应用层。android诞生之时正是Symbian大行其道之时,作为一款新兴的操作系统,是如何在寡头市场杀出一条血路,android主要祭出了四招,正可谓招招见血,刀刀到肉!阅读全文
斯德哥尔摩综合症(Stockholm syndrome),斯德哥尔摩效应,又称斯德哥尔摩症候群或者称为人质情结或人质综合症,是指犯罪的被害者对于犯罪者产生情感,甚至反过来帮助犯罪者的一种情结。这个情感造成被害人对加害人产生好感、依赖心、甚至协助加害于他人。
  人质会对劫持者产生一种心理上的依赖感。他们的生死操在劫持者手里,劫持者让他们活下来,他们便不胜感激。他们与劫持者共命运,把劫持者的前途当成自己的前途,把劫持者的安危视为自己的安危。于是,他们采取了“我们反对他们”的态度,把解救者当成了敌人。
    据心理学者的研究,情感上会依赖他人且容易受感动的人,若遇到类似的状况,很容易产生斯德哥尔摩综合症。
  1973年的斯德哥尔摩银行劫案
1973年8月23日,两名有前科的罪犯Jan Erik Olsson与Clark Olofsson,在意图抢劫瑞典首都斯德哥尔摩市内最大的一家银行失败后,挟持了四位银行职员,在警方与歹徒僵持了130个小时之后,因歹徒放弃而结束。然而这起事件发生后几个月,这四名遭受挟持的银行职员,仍然对绑架他们的人显露出怜悯的情感,他们拒绝在法院指控这些绑匪,甚至还为他们筹措法律辩护的资金,他们都表明并不痛恨歹徒,并表达他们对歹徒非但没有伤害他们却对他们照顾的感激,并对警察采取敌对态度。更甚者,人质中一名女职员Christian竟然还爱上劫匪Olofsson,并与他在服刑期间订婚。   这两名抢匪劫持人质达六天之久,在这期间他们威胁受俘者的性命,但有时也表现出仁慈的一面。在出人意表的心理错综转变下,这四名人质抗拒政府最终营救他们的努力。这件事激发了社会科学家,他们想要了解在掳人者与遭挟持者之间的这份感情结合,到底是发生在这起斯德哥尔摩银行抢案的一宗特例,还是这种情感结合代表了一种普遍的心理反应。而后来的研究显示,这起研究学者称为“斯德哥尔摩症候群”的事件,令人惊讶的普遍。研究者发现到这种症候群的例子见诸于各种不同的经验中,从集中营的囚犯、战俘、受虐妇女与乱伦的受害者,都可能发生斯德哥尔摩综合症经验。以人质为例,如果符合下列条件,任何人都有可能遭受到斯德哥尔摩综合症。   第1,是要你切实感觉到你的生命受到威胁,让你感觉到,至于是不是要发生不一定。然后相信这个施暴的人随时会这么做,是毫不犹豫。   第2,这个施暴的人一定会给你施以小恩小惠,最关键的条件。如在你各种绝望的情况下给你水喝。   第3,除了他给所控制的信息和思想,任何其它信息都不让你得到,完全隔离了。   第4,让你感到无路可逃。   有了这4个条件下,人们就会产生斯德哥尔摩综合症。   警方找来心理学家:三个人质为甚么在最后的性命关头都帮匪徒逃命呢?专家深入研究,结论是:人性能承受的恐惧有一条脆弱的底线。当人遇上了一个凶狂的杀手,杀手不讲理,随时要取他的命,人质就会把生命权渐渐付托给这个凶徒。时间拖久了,人质吃一口饭、喝一口水,每一呼吸,他自己都会觉得是恐怖份子对他的宽忍和慈悲。对於绑架自己的暴徒,他的恐惧,会先转化为对他的感激,然后变为一种崇拜,最后人质也下意识地以为凶徒的安全,就是自己的安全。   这种屈服于暴虐的弱点,就叫“斯德哥尔摩精神症候群”。一九七四年,美国报业大王赫斯特的孙女派翠西亚被美国的“共生解放军”绑架,最后自己宣明加入共生解放军,并参于抢劫银行,一九七五年九月被捕。
    在活动中,有一些功能被一直的访问想捞好处是很多人喜欢干的事,估计是用while(1){不段刷页面,IP不变,通过Apache日志看出来},用程序来实现获取兑换码,邀请好友等,还用多线程,给Apache服务器弄挂了,因为后台用的是直连Mysql,这样频繁是没法让Mysql消停的,这时就可以用这个插件了,其实也可以用Memcache来做到程序里,但我个人觉得这种应该是运维来做的事情,所以,我也想实践一下这个Apache插件的实际效果,乃至于编写Apache插件Etc,做了下测试发现这个mod_evasive20还真有必要给放上去,能避免一些用工具刷分的给把Apache以及后台DB给搞挂了:。
Apache的主要插件列表:
1)apache简单防DDOS攻击的配置,需要从网上找一个mod_evasive20模块一般情况下没有必要配置这玩意,但是活动确实有这样的问题压垮Apache,进而DB挂了。
2)apache防sql注入攻击的配置,需要安装mod_security模块。
加大apache最大连接数的配置,如果选择的是preworker工作方式。preworker和worker的区别就不讲了。apache2.0以上直接设置ServerLimit即可,apache2.0以前还要修改源代码才能使修改
的ServerLimit生效,建议应用服务器用apache2.0吧,性能差不了多少。
3)压缩传输的配置,这个做为网站来说非常重要,它是不压缩传输大小的20%左右,也就是说用户访问一个网站速度快了5倍,不配置不行,但是图片不能做压缩了。mod_deflate这个模块就是干这个的。实验证明,启用Apache的mod_deflate模块进行网页内容压缩,能够平均将网页大小降到原来的60%左右。尤其是对非图片、非多媒体为主的网站效果更加明显,http://yangsiwei.com/add-mod_deflate-module-to-apache2。
来源:http://www.youican.com/web/php/9035.html


相关配置参考DownLoad:

主要是先看配置文件的中文注释:
========================================================================
DOSHashTableSize    3097  这个是1G数量。
DOSPageCount        5  同一个时间同一个页面被访问的次数。对同一个用户
DOSSiteCount        100 同一个用户同时并发的连接数是100
DOSPageInterval 2
DOSSiteInterval  2  间隔时间
DOSBlockingPeriod  600  被封锁的时间是600秒
DOSLogDir           "/var/log/mod_evasive"    日志文件的存放位置。

#DOSWhitelist   127.0.0.1
#DOSWhitelist   192.168.0.*这个就是白名单,这里的ip就不受上面的限制。
[root@102 ~]# touch /var/log/mod_evasive   这样就可以了。
========================================================================
我的实践情况,如下:
#wget http://www.zdziarski.com/blog/wp-content/uploads/2010/02/mod_evasive_1.10.1.tar.gz
#tar zxvf mod_evasive_1.10.1.tar.gz
#cd mod_evasive
vi mod_evasive20.c
/*
#define DEFAULT_HASH_TBL_SIZE   3097ul  // Default hash table size
#define DEFAULT_PAGE_COUNT      2       // Default maximum page hit count per interval
#define DEFAULT_SITE_COUNT      50      // Default maximum site hit count per interval
#define DEFAULT_PAGE_INTERVAL   1       // Default 1 Second page interval
#define DEFAULT_SITE_INTERVAL   1       // Default 1 Second site interval
#define DEFAULT_BLOCKING_PERIOD 10      // Default for Detected IPs; blocked for 10 seconds
#define DEFAULT_LOG_DIR         "/tmp"  // Default temp directory
*/

#define DEFAULT_HASH_TBL_SIZE   6195ul  // Default hash table size
#define DEFAULT_PAGE_COUNT      2       // Default maximum page hit count per interval
#define DEFAULT_SITE_COUNT      50      // Default maximum site hit count per interval
#define DEFAULT_PAGE_INTERVAL   1       // Default 1 Second page interval
#define DEFAULT_SITE_INTERVAL   1       // Default 1 Second site interval
#define DEFAULT_BLOCKING_PERIOD 500      // Default for Detected IPs; blocked for 10 seconds
#define DEFAULT_LOG_DIR"/usr/local/apache2/logs"  // Default temp directory



/usr/local/apache2/bin/apxs -i -c mod_evasive20.c
...
cp .libs/mod_evasive20.so /usr/local/apache2/modules/mod_evasive20.so
cp .libs/mod_evasive20.lai /usr/local/apache2/modules/mod_evasive20.la
cp .libs/mod_evasive20.a /usr/local/apache2/modules/mod_evasive20.a
ranlib /usr/local/apache2/modules/mod_evasive20.a
chmod 644 /usr/local/apache2/modules/mod_evasive20.a
PATH="$PATH:/sbin" ldconfig -n /usr/local/apache2/modules
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/local/apache2/modules
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
chmod 755 /usr/local/apache2/modules/mod_evasive20.so

注:apxs 用于编译模块工具;如果是用系统自带的软件包,一般位于/usr/sbin目录。如果您是自己编译安装Apache(httpd)的,你应该自己来指定路径;
安装完成之后会在/usr/local/apache2/conf/httpd.conf文件中,默认添加一行


<IfModule mod_ssl.c>
    Include conf/ssl.conf
</IfModule>



vi /usr/local/apache2/conf/httpd.conf
LoadModule evasive20_module   modules/mod_evasive20.so
<IfModule mod_evasive20.c>
    DOSHashTableSize 6195
    DOSSiteCount 50
    DOSPageCount 2
    DOSPageInterval 1
    DOSSiteInterval 1
    DOSSiteInterval 500
    DOSLogDir "/usr/local/apache/logs"
    #bai ming dang
    DOSWhiteList 127.0.0.1
    DOSWhiteList 127.0.0.*
</IfModule>

mkdir -p /usr/local/apache/logs  //apache2 ,没有这个apache目录


D:\APMServ5.2.6\Apache\bin>ab.exe  -n10000 -c1000 http://http://192.168.1.104/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking http: (be patient)



http://192.168.1.104/
效果果然成了:
Forbidden
You don't have permission to access / on this server.
Apache/2.0.59 (Unix) PHP/5.2.6 Server at 192.168.1.104 Port 80


而在这个机器上:
root@192.168.1.104:~ curl "http://192.168.1.104/"
...
<title>Test Page for Apache Installation</title>
...
依然正常,说明该模块生效。
发现,没有出现这个文件夹,估计是权限的问题,于是:
chmod -R 777 /usr/local/apache/logs/
再使用:
tail -f /usr/local/apache/logs/error_log中日志如下:
[Mon Jan 10 13:16:45 2011] [error] [client 192.168.1.94] client denied by server configuration: /usr/local/apache/htdocs/logo.png

root@192.168.1.104:~ /usr/local/apache/logs # ls
dos-192.168.1.101
本机测试:
root@192.168.1.104:~/usr/local/apache2/bin # ./ab  -n10000 -c1000 http://192.168.1.104/
后再看这个页面的情况:
root@192.168.1.104:~/usr/local/apache2/bin # curl "http://192.168.1.104/"              
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /
on this server.</p>
<hr>
<address>Apache/2.0.59 (Unix) PHP/5.2.6 Server at 192.168.1.104 Port 80</address>
</body></html>
看日志,在服务器的 /usr/local/apache/logs/目录下会有
dos-192.168.1.94这样的文件生成[一般是dos加ip],果然有,如下:
ls /usr/local/apache/logs/
dos-192.168.1.101  dos-192.168.1.104
查看日志多了一个:
dos-192.168.1.104
再看:
tail -f /usr/local/apache2/logs/error_log中日志如下:【注意:是错误日志在apache2/Logs,在第在apache2中】
bogon:/usr/local/apache/logs # tail /usr/local/apache2/logs/error_log
[Tue Aug 23 07:00:26 2011] [error] [client 192.168.1.104] client denied by server configuration: /usr/local/apache2/htdocs/
[Tue Aug 23 07:00:26 2011] [error] [client 192.168.1.104] client denied by server configuration: /usr/local/apache2/htdocs/
。。。

========================================================================
以下是这位兄弟的,看自己的不明白再看他的罢,以下来源:
http://hi.baidu.com/suantop/blog/item/33f392a423bbbbe59152ee01.html


安装modsecurity(mod_security 可以加强apache的安全性特别是在防sql 注入上有很好的效果。):
# tar zxvf
modsecurity-apache-1.9.tar.gz
# cd modsecurity-apache-1.9/apache2/
# /apache2/bin/apxs -cia mod_security.c


打开httpd.conf加入
查看是否有
LoadModule security_module    modules/mod_security.so
如没有则加上去

添加一段mod_security的配置文件



<IfModule mod_security.c>
SecFilterEngine On
SecFilterCheckURLEncoding
On
SecFilterDefaultAction "deny,log,status:500"
#SecFilterForceByteRange
32 126
#SecFilterScanPOST On
SecAuditLog
logs/audit_log
###
SecFilter "\.\./"
#####
SecFilter
/etc/*passwd
SecFilter /bin/*sh

#for css attack
SecFilter "<( |
)*script"
SecFilter "<(.| )+>"
#for sql attack
SecFilter "delete[
]+from"
SecFilter "insert[ ]+into"
SecFilter "select.+from"
SecFilter
"union[ ]+from"
SecFilter "drop[ ]"
</IfModule>

来源:http://www.dzhope.com/post/752/




阅读全文
   在Android系统中,自带的闹钟软件自能设定自己默认的铃声作为提示音。要添加自己的铃声,使用闹钟软件是一个方法。但是物尽所用,能用自身软件解决就用自身软件则好。
其实很简单,在SD卡中建立media\audio\ringtones,notifications,alarms三个文件夹就可以添加自己的铃声了。这三个文件夹“ringtones”对应手机铃声;“notification”对应消息提示音(短信铃声);“alarms”即为闹钟铃声。而在这其中的音乐文件不会在播放器中搜索到。
试试吧。
问题:rontab里最小的时间单位是分钟,我用*/120,想让每半分钟执行一次,也不行啊。



比如同步:






/data/htdocs/t.jackxiang.com/shell/getNowTempValueFromCom.sh

/usr/bin/php /data/htdocs/t.jackxiang.com/getNowTempValueFromCom.php
简单实现让一个进程去读取串口的操作,这样通过循环读取出来的数据值也就更快更准,否则多个去读容易读乱了,主要是用的while去循环读取这块要是c可能select去操作:











回答:我想应该是不行的,因为 cron 每分钟才读一次配置文件,看哪些命令要执行,精度应该不能再高了。
有没有其他的解决方案:
这种思路挺巧妙的
但为什么不设置成开机后就启动这个脚本,然后在脚本里面控制间隔呢。
换个思路如下:
方法1:
两个脚本
1个正常,一个sleep30
crontab设置同时启动,想到的只有这个办法了

让其中一个脚本睡眠30秒,另一个正常运行
举例
a.sh是你的脚本
再写一个b.sh
内容如下:
  sleep 30
   a.sh
然后在cron中把这两个脚本都加进去,设置一样的启动条件(分钟是*)

shell知识:
在有的shell(比如linux中的bash)中sleep还支持睡眠(分,小时)
sleep 1    睡眠1秒
sleep 1s    睡眠1秒
sleep 1m   睡眠1分
sleep 1h   睡眠1小时
方法2:
TenSecend.sh


方法3:
* * * * * cmd
* * * * * (sleep 10 && cmd)
* * * * * (sleep 20 && cmd)
* * * * * (sleep 30 && cmd)
* * * * * (sleep 40 && cmd)
* * * * * (sleep 50 && cmd)
这样就可以了,这是个简单的问题,而我没有在Jackxiang上得到答案,看来绝对是我描述问题的方法有问题.  下次定要记得把问题说清楚,这样各位朋友才好帮到我,呵呵~

你可以不停的使用
at
batch

不过得保证10秒程序执行完。







=====================踩坑记录-crontab每10秒执行一次==================================
写在前面,记录一个linux小白使用crontab中遇到的各种坑及解决思路方法。网上帖子千千万,坑也是千千万。记录下,分享给大家。
需求:linux中使用crontab每十秒执行一次
场景:需要在ubuntu14服务器中使用代理每十秒执行一次curl来访问互联网,来测试代理网络稳定性。
经过网上的大量搜贴之后得到的可用的一个结论如下:
# crontab -e
* * * * * /usr/local/cc.sh >>/usr/local/log.txt 2>&1
* * * * * sleep 10; /usr/local/cc.sh >>/usr/local/log.txt 2>&1
* * * * * sleep 20; /usr/local/cc.sh >>/usr/local/log.txt 2>&1
* * * * * sleep 30; /usr/local/cc.sh >>/usr/local/log.txt 2>&1
* * * * * sleep 40; /usr/local/cc.sh >>/usr/local/log.txt 2>&1
* * * * * sleep 50; /usr/local/cc.sh >>/usr/local/log.txt 2>&1
如果你是直接一梭子全复制,改下目录那么恭喜你完成了计划任务。而我就不是了,我只写了sleep 10 这条然后任务没有执行。这就是坑。

坑1 .上面sleep 10 20 30 ...是啥意思啊,怎么个规则啊。一头雾水,当时我是直接把第二个sleep 10 那个定时任务直接粘进去的。然后,任务没有执行就一直纠结任务没有执行这个问题。
坑2.ubuntu系统第一次使用crontab -e 需要选择比编辑器,如果选nano上,对我这种小白可就蒙圈。最后在命令行使用, select-ediort 来选择编辑器选3 vim 就好了
后来,明白后做了实验。
如果只写前两条的话是:在每分钟的第一秒和第一个10秒执行一次
* * * * * /usr/local/cc.sh >>/usr/local/log.txt 2>&1
* * * * * sleep 10; /usr/local/cc.sh >>/usr/local/log.txt 2>&1


以此类推只写前三的话就是:在每分钟的第一、第一个十秒、第二个十秒分别执行一次
* * * * * /usr/local/cc.sh >>/usr/local/log.txt 2>&1
* * * * * sleep 10; /usr/local/cc.sh >>/usr/local/log.txt 2>&1
* * * * * sleep 20; /usr/local/cc.sh >>/usr/local/log.txt 2>&1
如果都写上的话就是每十秒执行一次啦,完美过程。

过程遇到的问题(1):crontab -e 完都有新邮件

原因:1.crontab 每次执行完程序产生的输出都会发邮件到/var/mail/root
2.定时任务语法有误,/var/mail/root  发送的是错误日志,如下

root@bogon:/usr/local# tail -20 /var/mail/root
From root@bogon  Tue May 21 18:31:11 2019
Return-Path: <root@bogon>
X-Original-To: root
Delivered-To: root@bogon
Received: by bogon (Postfix, from userid 0)
  id AAFCB43077; Tue, 21 May 2019 18:31:11 +0800 (CST)
From: root@bogon (Cron Daemon)
To: root@bogon
Subject: Cron <root@bogon> sleep 10; sh /home/liuxin/curl-status.sh >dev/null 2>&1
Content-Type: text/plain; charset=ANSI_X3.4-1968
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
Message-Id: <20190521103111.AAFCB43077@bogon>
Date: Tue, 21 May 2019 18:31:11 +0800 (CST)

/bin/sh: 1: cannot create dev/null: Directory nonexistent

解决:如果是1的话就放到黑洞  >/dev/null 2>&1
* * * * * /usr/local/cc.sh >/dev/null 2>&1
精讲:1,/dev/null是linux系统的一个垃圾桶(一个不正经的比喻)有不用的输出都可以往里面扔。>/dev/null 缺省默认是1 即 1>/dev/null
2,linux中有三种标准输入输出,分别是STDIN,STDOUT,STDERR,对应的数字是0,1,2    2>&1就是把2错误输出重定向到1标准输出  而1又输出到/dev/null黑洞
如果不想输出到一个文件可以这样写
* * * * * /usr/local/cc.sh >>/usr/local/log.txt 2>&1
过程中遇到的问题(2):如图crontab -e 后是新文件

解决:crontab语法错误再三检查后,建议select-editor 选3  vim

来自:https://mp.weixin.qq.com/s/CoWxVO5wlsJcIhv9a8sdKQ
  mysql消除乱码方法集
  我用php+mysql做系统的时候发现数据库的汉字在数据库里是显示正常的,但是一旦数据库与php连接,汉字就会显示为???多个问号,一直都在想办法解决它,但是试了好包括修改php 还有mysql配置文件的默认字体,还有在建html时的字体的设置,但是都不行,今天突然在网上看到有说用 这中方法可以的。1.在使用MySQL和php的时候出现过中文乱码问题 阅读全文
有很长一段时间一直以为empty应该是能够判断一个东西是否为空的,直到有一天我像这样“empty(trim($a))”使用的时候出现了error,然后查手册才知道了原来empty函数只能判断一个变量是否为空,而不能判断一个字符串(或者其他的值,包括函数返回值)为空。虽然知道了这只是一个表层的原因,但是却没有再去了解深层次的原因。 阅读全文


实践证明上面这两个都会指向编译时的mysqld.sock文件位置:
php -i|grep mysqld.sock
'--with-mysql-sock=/var/run/myslqd/mysqld.sock'
mysqli.default_socket => /var/run/myslqd/mysqld.sock => /var/run/myslqd/mysqld.sock
pdo_mysql.default_socket => /var/run/myslqd/mysqld.sock => /var/run/myslqd/mysqld.sock




PDO连接Mysql出现如下:Connection failed: SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/usr/local/webserver/mysql/data/mysql.sock' (2)

如下命令编译php后,注意其中有一行是涉及到PDO和MysqlLi的--with-pdo-mysql=/usr/local/webserver/mysql
编译PHP:
wget http://cn.php.net/distributions/php-5.3.6.tar.gz
./configure --prefix=/usr/local/webserver/php --with-config-file-path=/usr/local/webserver/php/etc --with-mysql=/usr/local/webserver/mysql --with-mysqli=/usr/local/webserver/mysql/bin/mysql_config --with-iconv-dir=/usr/local/libiconv --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl
老外这样说的:configure --with-pdo-mysql --with-mysql-sock=/usr/local/webserver/mysql/data/mysql.sock... This value can either be set at compile time if a domain socket is found at configure.
在:--socket=/data0/data/mysql.sock  ,这时你一是可以建立软链接
这儿是可以重新编译一次PDO来实现,二是能通过软链接来实现,重新编译PDO如下:
PDO_MYSQL:
http://pecl.php.net/package/PDO_MYSQL
wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz
tar zxvf PDO_MYSQL-1.0.2.tgz
cd PDO_MYSQL-1.0.2
/usr/local/webserver/php/bin/phpize
./configure --with-php-config=/usr/local/webserver/php/bin/php-config --with-pdo-mysql=/usr/local/webserver/mysql
make
make install
cd ../
要么你直接在编译PHP源代码时编译进去,这儿单独编译时可能会找不到mysql.h,造成上面一一致的原因是我修改了原来Mysql默认的配置:mysql.sock的Path,同时修改了PHP里的Mysql常规Path,而这个PDO的PAth没有在PHP.ini里体现出来,没法修改,只有建立软链接或者重新编译才行。这就是根本原因。
(1)直接建立软链接指向其位置:ln -s /data0/data/mysql.sock   /usr/local/webserver/mysql/data/mysql.sock 立竿见影。
(2)重新编译PDO【注意把:mysql.sock设置一下位置,让PDO知道不是以前的那个位Path了】
(3)这儿发现第三种方法,修改好编译好的二进制so文件:
vi /usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20090626/pdo_mysql.so
找到那个写死了的mysql.sock的配置处,把路径给修改下,再修改回去,呵呵,如下:
@^@^@/root/jackxiang.com/PDO_MYSQL-1.0.2/mysql_driver.c^@^@/usr/local/webserver/mysql/data/mysql.sock^@^@
修改为这样:
@/root/jackxiang.com/PDO_MYSQL-1.0.2/mysql_driver.c^@^@/data0/data/mysql.sock^@^@/root/jackxiang.com
强制写入,这时,我用的是Nginx下Php的FastCGI,得重启下PHPFastCGI,而要是Apache得重启下Apache即可。
这儿的修改可能有些问题:
root@116.255.139.240:/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20090626# sh /root/runphp.sh
Starting php-fpm /etc/init.d/phpfpm: line 53: 12947 Segmentation fault      $php_fpm_BIN $php_opts
failed
但是说明一个问题:这个配置/usr/local/webserver/mysql/data/mysql.sock确实是写死在这个:pdo_mysql.so 文件里的!!!

php -i|grep mysql.sock得到如下两个设置的地方,
mysql.default_socket => /data0/data/mysql.sock => /data0/data/mysql.sock  //常规的Mysql的句柄,和下面不一样导致,pdo报错。
MYSQLI_SOCKET => /usr/local/webserver/mysql/data/mysql.sock  //PDO的Mysql句柄
为何这上面两个不一样呢?请查看: php连接到MySQL数据库服务器时三种主要的API:mysql,mysqli,pdo区别及联系
PHP用PDO连接Mysql时出现问题,PHP代码如下:
<?php
     $dsn = "mysql:host=localhost;dbname=360syn_mysql";
     $db = new PDO($dsn, 'root', '');

root@116.255.139.240:/data0/htdocs/happycun.com# php pdo.php
PHP PDOException:  SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/usr/local/webserver/mysql/data/mysql.sock' (2) in /data0/htdocs/happycun.com/pdo.php on line 3
也就是这个设置不对:MYSQLI_SOCKET => /usr/local/webserver/mysql/data/mysql.sock
查看Mysql的mysql.sock是在哪儿?如下命令查看:
ps aux|grep mysql
/usr/local/webserver/mysql/bin/mysqld --basedir=/usr/local/webserver/mysql --datadir=/data0/data --plugin-dir=/usr/local/webserver/mysql/lib/plugin --user=mysql --log-error=/data0/data/error_log/log-error.log --pid-file=/data0/data/localhost.localdomain.pid --socket=/data0/data/mysql.sock --port=3306




是谁不小心把/tmp/mysql.sock删除了,最后建立软连接才好了!

原因:
其本质是在编译Mysql的时候可能此时mysql.sock是在/tmp/mysql.sock,而可能在实际配置Mysql的时候,vi /etc/my.cnf 其定义到了:/usr/local/services/mysql-5.0.2*/var/mysql.sock
---------------------
来源网上:
摘要:解决不能通过mysql .sock连接MySQL问题 这个问题主要提示是,不能通过 '/tmp/mysql .sock'连到服务器,而php标准配置正是用过'/tmp/mysql .sock',但是一些mysql 安装方法 将 mysql .sock放在/var/lib/mysql .sock或者其他的什么地方,你可以通过修改/etc/my.cnf文件来修正它,打开文件,可以看到如下的东东:   [mysql d]   socket=/var/lib/mysql .sock   改一下就好了,但也会引起其他的问题,如mysql 程序连不上了,再加一点:   [mysql ]   socket=/tmp/mysql .sock   或者还可以通过修改php.ini中的配置来使php用其他的mysql .sock来连,这个大家自己去找找    或者用这样的方法:   ln -s /var/lib/mysql /mysql .sock /tmp/mysql .sock 成功了,就是这样ln -s /var/lib/mysql /mysql .sock /tmp/mysql .sock OK!

[mysqld]
socket=/var/lib/mysql.sock

改一下就好了,但也会引起其他的问题,如mysql程序连不上了,再加一点:

[mysql]
socket=/tmp/mysql.sock

或者还可以通过修改php.ini中的配置来使php用其他的mysql.sock来连:
On my RedHat-Box the socket of mysql is /var/lib/mysql/mysql.sock. In your php.ini you will find a line
mysql.default_socket = /tmp/mysql.sock
change it to
mysql.default_socket = /var/lib/mysql/mysql.sock
Then restart apache and it will work.
---
如果做了软链接依旧连接不上,提示PHP连接mysql找不到'/tmp/mysql.sock,请参阅Mysql绑定端口引发的:ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1':
http://jackxiang.com/post/4305/
别说脏话,随便的一个字或者几个字会让你在别人心中的形象大打折扣,切忌无病呻吟的成天喊“堕落与颓废”。
阅读全文
分页: 132/339 第一页 上页 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 下页 最后页 [ 显示模式: 摘要 | 列表 ]