灌溉梦想,记录脚步

Drupal的计划任务设定(Drupal CRON TASKS)

  Drupal的很多功能都是依赖CRON TASKS来完成的,比如搜索的索引,还有Cache的清理,所以CRON对于Drupal来说是很重要的。今天终于把我的Cron tasks搞定了,下面说说我的经历。我是自己的服务器,虚拟主机一半是不能自己设定Cron tasks的,但有一些网站免费提供这个功能。对于drupal来说,只要定时访问根目录下面的cron.php文件,然后就会自动执行一连串的任务,所以我们要做就是定时访问一下这个文件。我的服务器装的是CentOS 4.5系统,所以下面我先说说linux(unix和freebsd也通用)下面的Cron。
  Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:
  /sbin/service crond start //启动服务/sbin/service crond stop //关闭服务/sbin/service crond restart //重启服务/sbin/service crond reload //重新载入配置
  你也可以将这个服务在系统启动的时候自动启动:
  在/etc/rc.d/rc.local这个脚本的末尾加上:/sbin/service crond start
  现在Cron这个服务已经在进程里面了,我们就可以用这个服务了,Cron服务提供以下几种接口供大家使用:
  1.直接用crontab命令编辑
  cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明:
  crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
  crontab -l //列出某个用户cron服务的详细内容
  crontab -r //删除没个用户的cron服务
  crontab -e //编辑某个用户的cron服务
  比如说root查看自己的cron设置:crontab -u root -l
  再例如,root想删除fred的cron设置:crontab -u fred -r
  在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab -u root -e
  进入vi编辑模式,编辑的内容一定要符合下面的格式:*/1 * * * * ls >> /tmp/ls.txt
  这个格式的前一部分是对时间的设定,后面一部分是要执行的命令,如果要执行的命令太多,可以把这些命令写到一个脚本里面,然后在这里直接调用这个脚本就可以了,调用的时候记得写出命令的完整路径。时间的设定我们有一定的约定,前面五个*号代表五个数字,数字的取值范围和含义如下:
  分钟 (0-59)
  小時 (0-23)
  日期 (1-31)
  月份 (1-12)
  星期 (0-6)//0代表星期天
  除了数字还有几个个特殊的符号就是”*”、”/”和”-“、”,”,*代表所有的取值范围内的数字,”/”代表每的意思,”*/5″表示每5个单位,”-“代表从某个数字到某个数字,”,”分开几个离散的数字。以下举几个例子说明问题:
  每天早上6点
  0 6 * * * echo “Good morning.” >> /tmp/test.txt //注意单纯echo,从屏幕上看不到任何输出,因为cron把任何输出都email到root的信箱了。
  每两个小时
  0 */2 * * * echo “Have a break now.” >> /tmp/test.txt
  晚上11点到早上8点之间每两个小时,早上八点
  0 23-7/2,8 * * * echo “Have a good dream:)” >> /tmp/test.txt
  每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
  0 11 4 * 1-3 command line
  1月1日早上4点
  0 4 1 1 * command line
  每次编辑完某个用户的cron设置后,cron自动在/var/spool/cron下生成一个与此用户同名的文件,此用户的cron信息都记录在这个文件中,这个文件是不可以直接编辑的,只可以用crontab -e 来编辑。cron启动后每过一份钟读一次这个文件,检查是否要执行里面的命令。因此此文件修改后不需要重新启动cron服务。
  2.编辑/etc/crontab 文件配置cron
  cron 服务每分钟不仅要读一次/var/spool/cron内的所有文件,还需要读一次/etc/crontab,因此我们配置这个文件也能运用cron服务做一些事情。用crontab配置是针对某个用户的,而编辑/etc/crontab是针对系统的任务。此文件的文件格式是:
  SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号HOME=/ //使用者运行的路径,这里是根目录# run-parts01 * * * * root run-parts /etc/cron.hourly //每小时执行/etc/cron.hourly内的脚本02 4 * * * root run-parts /etc/cron.daily //每天执行/etc/cron.daily内的脚本22 4 * * 0 root run-parts /etc/cron.weekly //每星期执行/etc/cron.weekly内的脚本42 4 1 * * root run-parts /etc/cron.monthly //每月去执行/etc/cron.monthly内的脚
  大家注意”run-parts”这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名了。
  到目前为止大家应该知道怎么设Cron task了,下面我们就把Drupal的Cron加进去。
  1、在控制台输入 crontab -r username -e,其中username就是你的用户名,如果就为当前用户设定cron task,也可以不用-r username参数;
  2、输入0 * * * * wget -O – -q -t 1 http://www.yoururl.com/cron.php,表示每小时运行一次。也可以将第一个”*”后面加上/2,/3,/4等表示每2,3,4小时运行一次,或者第二个”*”后面加上/1,/2,/3表示每1,2,3天运行一次。
  3、”Shift键+z”键保存并退出,然后运行”/sbin/service crond restart”。
  好了,到此为止,linux下面的Cron task就设定好了。
  Windows主机可以通过设定计划任务,执行的任务也是访问那个网址或者用下载那个文件。

网站宕机监控服务介绍

  网站最重要的就是稳定性,如果网站因为宕机而无法访问,那么对于网站本身来说是一场灾难,网站管理员最重要的职责就是在服务器宕机后第一时间进行恢复,防止网站长时间宕机造成更多损失,因此,网站管理员需要一个对其网站进行24小时不间断的监视的服务,一旦出现无法访问的情况,就立刻通过邮件和短消息通知管理员。
  这里我介绍一些常用的免费网站宕机监控服务。
  SiteUpTime(www.siteuptime.com
  免费用户可以监控一个网站,每半小时监测一次,可监测4个端口,提供4台监测服务器供用户选择,网站不能访问的时候会发送Email通知你。SiteUptime还为免费用户提供统计报告、每月报告邮件等实用服务。
  Site 24×7(site24×7.com)
  免费用户可以每60分钟检测最多2个网站的情况。可以获得邮件或者短信的告警以及报告。新注册用户可以享受15天全功能使用,之后会自动切换为免费帐户。值得注意的是,这个网站提供中文界面,不懂英文的推荐使用这个网站。
  WebPerform(www.webperform.cn
  中文版的网站监测服务,免费用户可以每60分钟监测最多两个网站。
  HostTracker(host-tracker.com)
  免费用户每30分钟监控两个网站。
  网站保姆(http://bm.chinaz.com/
  中国站长站推出的监控服务器在线状态的服务,免费用户可在30分钟监测一个服务器,邮件通知,收费用户有短信通知。
  本文来自: E点废墟(www.xok.la) 详细出处参考:http://xok.la/2009/06/site_jiankong.html

FreeBSD安装vim

  1.vim6的安装:
  cd /usr/ports/editors/vim6+ruby
  make -DWITHOUT_X11 install clean
  mv /usr/bin/vi /usr/bin/vi.bak
  cp /usr/local/bin/vim /usr/bin/vi

  2. 配置:
  Copy Vim 的配置文件 .vimrc 到使用者根目录,并且加入中文环境设定。
  cp /usr/local/share/vim/vim72/vimrc_example.vim /usr/local/share/vim/vimrc
  cp /usr/local/share/vim/vim72/vimrc_example.vim ~/.vimrc

  3. vim中文的cshrc配置:
  .cshrc里加入以下内容:
  setenv LC_ALL zh_CN.EUC
  setenv LANG zh_CN.EUC
  setenv LC_CTYPE zh_CN.EUC

登陆freebsd出现Using keyboard-interactive authentication

  putty下用root登陆freebsd出现Using keyboard-interactive authentication的解决

  终端中运行vi /etc/ssh/sshd_config
  把里面的
  #PermitRootLogin no
  #PasswordAuthentication no
  改为
  PermitRootLogin yes
  PasswordAuthentication yes
  保存后重启ssh

  /etc/rc.d/sshd restart
  再登陆就不报错了

青春

  所有的结局都已写好
  所有的泪水也都已起程
  却忽然忘了是怎么样的一个开始
  在那个古老的不在回来的夏日
  无论我如何地去追索
  年轻的你只如云影掠过
  而你微笑的面容极浅极浅
  逐渐隐没在日落后的群岚
  遂翻开那发黄的扉页
  命运将它装订地极为拙劣
  含着泪 我一读再读
  却不得不承认
  青春是一本太仓促的书
   —-1979.6.

  时光匆匆的脚步声
   –<青春>悟读
  一个人就是一本书,
  每个人都在用终生的墨汁著作自己.
  在太阳稍稍西向的时候,你放下了心爱的水仔笔,走出小小的写字间,面对渐而悠远的天空,垂下那颗既是情感又是智慧的头,以感伤的左耳和思辩的右耳倾听时光的优骏在你心的草原上敲响的阵阵蹄声。
  太阳是什么时候转过头顶的,这个最大的疏忽使你充满了不安,最耐心的你终于守不住耐心了,在水边,一粒寂寞的石子打向自己的少女时代,你的湖面荡起了层层的涟漪.
  不知从哪个时候起,作为远景的烟云从群山后面朴素地升起来,在原野上客观地弥散着.
  青春是什么时候黄的,自在的花朵是什么时候落的,树是怎么长高的,落叶是怎么发出叹息的.
  类似的念头你还有好多,这样的时刻你最孤寂;
  类似的情景你最软弱,这样的时刻你最无力;
  这样的时刻你完全失去了主张.
  成熟哪里去了,世故哪里去了,练达哪里去了,理智弯下腰后,情感自然站了上风.
  你感到抬眼就望到生命的尽头,就再也不感想下去了.
  你哭了,你向世界发出了哀求:
  让我再年轻一次吧,我会把青春的那一页装订地很好.你落下了泪,因为这不可能.
  此刻,你是幼稚的,幼稚地很可爱,象今天给我写来情书的那个女孩.

杨中科老师对于计算机专业相关迷惑的解答

  1、”it专业的学生太多了,而且就业压力很大”是吗?
  现在各个大学为了赚钱拼命扩招,所以不仅IT专业的学生人比较多,而且其他专业的学生人数也比较多,”僧多粥少”就通常意味着就业压力大。但是反过来看,现在很多IT企业都存在”人才荒”的问题,也就是很多企业都招不到合适的人才,我认识一些做IT人力资源方面工作的朋友,他们都普遍反映现在企业里很难招到合适的人才。初看起来很奇怪”每年有很多IT专业大学生毕业,很多都找不到工作”,而”企业每年都缺人,招不到合适的人才”,造成这种奇怪的”人才断层”现象的根本原因就是现在毕业生的素质明显下降了,大学招的人多造成以前没有能力上大学的人也能上大学了,大学招的人多也意味着教学资源平均下来降低了,所以教育质量也降低了,这些就造成了”学生需要工作,企业需要人”的这种状况。
  我接触过很多IT专业的毕业生,给我的第一感觉是很多人的专业水平太差了,毕业了竟然连计算机的一些基础概念都不了解,更不用说专业课、实践技能了,大学四年就是在浑浑噩噩中度过的。我也和一些大学的老师和一些企业的校园招聘人员接触过,他们讲了一个很有意思的现象:每年IT专业就业生里有20%的人根本找不到任何工作,有60%的人找到很一般的工作,而有20%的学生则找到非常好的工作。那20%找不到任何工作的人是在大学里浑浑噩噩的人,根本不学习,整天打游戏;另外20%找到好工作的人在大学期间把自己的学习安排的非常好,不仅把专业课学的比较好,而且不读死书,能把课本上的东西在实践中得到应用,还主动动手参与实际开发;另外60%的人则在大学期间很迷茫,被各种问题迷惑着,想学但是又不知道怎么学、学什么、该不该学,很快大学四年就在迷惑中度过。
  大部分学生都会落在这60%里,也就是找的工作很一般。像你这样有上进心的人肯定不会落在那20%的根本找不到工作的人这个区间里,但是却很容易因为迷茫落在那60%的区间里。其实要进入那20%找到好工作区间里也非常容易,这个问题我已经在如鹏论坛的其他帖子里论述了,我这里简单描述一下:首先要把专业课学好,因为有正规一点的企业(这里的”正规一点的企业”与大中型企业不划等号)在校园招聘的时候不是很在乎你会什么开发工具、做过什么项目,而是考察你的专业课的掌握水平和动手能力,你可以去如鹏论坛的”就业”板块去看一下那些企业校园招聘(注意是校园招聘)的笔试题。其次,要锻炼自己实际的开发技能,因为IT专业课都要求实际动手能力,比如学完了C语言就要自己学着用C语言写一些有用的东西。只要在大学期间好好学习、多动手,到毕业的时候不愁好工作,因为那些找到好工作的学生只是比那些找到非常一般工作的人多努力了一点而已。
  不要被那些”it专业的学生太多了,而且就业压力很大”的说法迷惑了,发出这样感叹的人都是那60%的人,那找到好工作的20%正努力工作并且偷着乐了,哪有时间来抱怨呢,呵呵。IT行业是一个朝阳产业,就业机会多多,而且高端职位也非常多,不愁找不到好工作。加油!
  2、”我还听说这个专业越年轻越吃香。工作到35已经是头了。”
  这个论调你也许刚刚听说,但是你听说的已经是老版本了,目前最新的版本是”IT专业是吃青春饭的,只能干到40岁”。在我十年前进入IT行业的时候就已经有这种说法了,当时的版本是”IT专业只能干到30岁”,五年前听到了”IT专业只能干到35岁”的论调,今年听到了最新的版本”IT专业只能干到40岁”,估计再过5年就该有”IT专业只能干到45岁”这种说法了,年年在升级呀。
  出现这种论调的根本原因是什么呢?大家想想,虽然四十年代末期已经出现了计算机了,但是IT行业真正的飞速发展是在八十年代末发展起来的,国内则还要相对晚几年。假设第一批IT行业从业人员是在1990年大学毕业的,那时候的他们22岁,到了2008年他们正好40岁。一个人在一个行业已经做了十几年了,有的做了主管,有的自己创业做老板,有的则做了架构师,有的则做了技术主管,而也有一些人还在低端岗位挣扎,由于在低端岗位需要比较强的精力,这些40岁的”老人”显然没有刚毕业20来岁的年轻人更有精力,因此很多企业就把这些”老人”给辞退了。由此就诞生了著名的”IT专业是吃青春饭”的理论。
  大家思考一下,不仅是IT行业,任何行业都存在高端职位和低端职位的区别,而任何人如果一辈子在低端职位的话绝不会有什么出息。机械行业比IT行业发展时间长多了,把这两个行业对比一下就能看出异同点。几十年前机械毕业的人有人做了机械行业公司的高管,有人在这个行业创业做了老板,有一些有经验的机械工程师被企业高薪返聘,当然也有一些人在机械行业的低端岗位混了一辈子碌碌无为,企业一改制就被光荣的”下岗”了。由此证明在任何行业,如果你想在一个行业长期发展一定不能一辈子做低端岗位,而应该向高端岗位发展。
  IT行业的高端岗位有如下几种:老板、企业高管、高级工程师等。无论是像哪个方向发展,都需要在IT行业有很深的造诣:做老板要有对这个行业有高屋建瓴的认识和前瞻性才能找到商机;做高管则要有一定的技术水平,能够统领一个比一个聪明工程师,否则没人愿意被你管理;做高级工程师则更需要有非常高深的技术水平,这样才有可能被企业”高薪返聘”,比如微软等公司都有很多架构师、技术总监级别的岗位被很多五六十岁的”老家伙”霸占着。
  所以不要被”IT专业是吃青春饭的”这种观念误导了,这个行业前景非常好,只要不碌碌无为,那么一定前途不可限量。
  3、电子信息工程专业的学生可不可以找到和传统行业贴近的工作
  计算机是一个工具,它的价值就体现在帮助其他行业提高工作效率上。比如会计行业引入计算机就能把财会数据用计算机管理起来;机械行业引入计算机才能实现设备的自动控制。因此IT专业一定是和某个传统行业贴近的。比如我有的朋友在一家医院做信息部主管,主管医院的信息化;有的朋友在服装企业做进销存管理的信息化等;我还碰到过一个人在快运公司做信息化,因为在信息化管理过程中对公司的整体运营非常了解,后来做了业务主管。

使用mysqldump备份与恢复数据库实例

  备份MySQL数据库的命令
  mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql
  备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
  mysqldump –add-drop-table -uusername -ppassword databasename > backupfile.sql
  直接将MySQL数据库压缩备份
  mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz
  备份MySQL数据库某个(些)表
  mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql
  同时备份多个MySQL数据库
  mysqldump -hhostname -uusername -ppassword -databases databasename1 databasename2 databasename3 > multibackupfile.sql
  仅仅备份数据库结构
  mysqldump -no-data -databases databasename1 databasename2 databasename3 > structurebackupfile.sql
  备份服务器上所有数据库
  mysqldump -all-databases > allbackupfile.sql
  还原MySQL数据库的命令
  mysql -hhostname -uusername -ppassword databasename < backupfile.sql
  还原压缩的MySQL数据库
  gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename
  将数据库转移到新服务器
  mysqldump -uusername -ppassword databasename | mysql -host=*.*.*.* -C databasename