<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[crontab 指定执行用户]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[Unix/LinuxC技术]]></category>
<pubDate>Thu, 05 Dec 2013 02:46:56 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	1）查看当前用户下的cron任务：crontab&nbsp;&nbsp; -l&nbsp;&nbsp;<br/>2）编辑当前用户的定时任务：crontab -e <br/>3）编辑root用户linuxso的定时任务： crontab -u&nbsp;&nbsp;root&nbsp;&nbsp;-e <br/><br/><br/>linux下可以通过配置crontab来定时执行任务，执行体可以是一条系统命令或自己写的一个脚本，同时可以指派用户来执行。配置crontab有两种方法。<br/>方法1、使用crontab命令，例如添加一个新的或编辑已有的，使用：<br/><br/>crontab -e<br/><br/>就可以进入配置文件。此时配置crontab的执行者是当前登入用户，如果当前用户是root，需要为其他用户配置，可以使用<br/><br/>crontab -e -u 用户名<br/><br/>或<br/>su 用户名<br/>crontab -e<br/><br/>这种方法有一个缺点，就是当前系统中配置的crontab不在一个配置文件中，让管理员不方便查询系统到底有多少个crontab。<br/><br/>方法2、直接在/etc/crontab文件中添加，不过需要是root身份。打开文件，应该会看到类似下面的信息<br/>vi /etc/crontab<br/><br/>SHELL=/bin/bash<br/>PATH=/sbin:/bin:/usr/sbin:/usr/bin<br/>MAILTO=root<br/>HOME=/<br/><br/># For details see man 4 crontabs<br/><br/># Example of job definition:<br/># .---------------- minute (0 - 59)<br/># &#124;&nbsp;&nbsp;.------------- hour (0 - 23)<br/># &#124;&nbsp;&nbsp;&#124;&nbsp;&nbsp;.---------- day of month (1 - 31)<br/># &#124;&nbsp;&nbsp;&#124;&nbsp;&nbsp;&#124;&nbsp;&nbsp;.------- month (1 - 12) OR jan,feb,mar,apr ...<br/># &#124;&nbsp;&nbsp;&#124;&nbsp;&nbsp;&#124;&nbsp;&nbsp;&#124;&nbsp;&nbsp;.---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat<br/># &#124;&nbsp;&nbsp;&#124;&nbsp;&nbsp;&#124;&nbsp;&nbsp;&#124;&nbsp;&nbsp;&#124;<br/># *&nbsp;&nbsp;*&nbsp;&nbsp;*&nbsp;&nbsp;*&nbsp;&nbsp;* user-name command to be executed<br/><br/>要添加新的crontab，只需要在文件最后增加即可。注意这里面需要指定用户名；而方法1中则不需要，如果指定了，它会认为是命令的一部分，从而可能导致crontab执行失败。<br/><br/>如果服务器都是有root来管理，建议添加crontab使用方法2，这样系统中的所有计划任务都在一起，一目了然。<br/>示例：<br/> 接下来举个例子来使用crontab。<br/>&nbsp;&nbsp;先写一个脚本，脚本的功能是将/root下的文件进行打包压缩且以系统时间命名，压缩文件存放在/root/backup目录下。脚本如下<br/><textarea name="code" class="C" rows="15" cols="100">
#! /bin/bash

if [ ! -d &quot;/root/backup&quot; ];then
&nbsp;&nbsp;&nbsp;&nbsp;mkdir /root/backup
fi

cd /root/backup

Year=$(date +%y)
 Month=$(date +%m)
 Day=$(date +%d)
 Hour=$(date +%H)
 Minute=$(date +%M)
 Second=$(date +%S)
 
 FILENAME=$Year$Month$Day$Hour$Minute$Second.tar.gz
 
 tar -zcvf $FILENAME /root/*
</textarea><br/> 接下来在/etc/crontab文件中添加任务，修改后的文件为 ：<br/><textarea name="code" class="C" rows="15" cols="100">
SHELL=/bin/bash&nbsp;&nbsp;
PATH=/sbin:/bin:/usr/sbin:/usr/bin&nbsp;&nbsp;
MAILTO=root&nbsp;&nbsp;
HOME=/&nbsp;&nbsp;
&nbsp;&nbsp;
# For details see man 4 crontabs&nbsp;&nbsp;
&nbsp;&nbsp;
# Example of job definition:&nbsp;&nbsp;
# .---------------- minute (0 - 59)&nbsp;&nbsp;
 # &#124;&nbsp;&nbsp;.------------- hour (0 - 23)&nbsp;&nbsp;
 # &#124;&nbsp;&nbsp;&#124;&nbsp;&nbsp;.---------- day of month (1 - 31)&nbsp;&nbsp;
 # &#124;&nbsp;&nbsp;&#124;&nbsp;&nbsp;&#124;&nbsp;&nbsp;.------- month (1 - 12) OR jan,feb,mar,apr ...&nbsp;&nbsp;
 # &#124;&nbsp;&nbsp;&#124;&nbsp;&nbsp;&#124;&nbsp;&nbsp;&#124;&nbsp;&nbsp;.---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat&nbsp;&nbsp;
 # &#124;&nbsp;&nbsp;&#124;&nbsp;&nbsp;&#124;&nbsp;&nbsp;&#124;&nbsp;&nbsp;&#124;&nbsp;&nbsp;
 # *&nbsp;&nbsp;*&nbsp;&nbsp;*&nbsp;&nbsp;*&nbsp;&nbsp;* user-name command to be executed&nbsp;&nbsp;
&nbsp;&nbsp; 
 */20 * * * * root /root/backup.sh&nbsp;&nbsp;
</textarea><br/>注意17行的语句，它表明每隔20分钟执行一次/root/backup.sh脚本。<br/>最后在/root/backup目录下发现备份的文件，crontab生效。<br/><br/>来自：http://www.netingcn.com/crontab-designate.html<br/>参考：http://blog.csdn.net/hou_hou_hou/article/details/8930453
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] crontab 指定执行用户]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>