ºìÁªLinuxÃÅ»§
Linux°ïÖú

¡¾ÇóÖú¡¿redhatÏÂcrontabÈÎÎñÖ´ÐÐshell½Å±¾

·¢²¼Ê±¼ä:2015-08-06 20:40:04À´Ô´:ºìÁª×÷Õß:wangkun711
shell½Å±¾¹¦ÄÜ£º½«redhatϵͳij¸öĿ¼ÏµÄ×òÌìµÄÈÕÖ¾Îļþͨ¹ýftp´«Êäµ½Áíһ̨redhatÖ÷»ú¡£
ʹÓÃcrontab´´½¨¶¨Ê±ÈÎÎñÿÌìÁ賿1µã1·Ö×Ô¶¯Ö´ÐÐshell½Å±¾¡£
ÇóÖú£ºshell½Å±¾ÊÖ¶¯Ö´ÐпÉÒԳɹ¦½«Îļþ´«Êäµ½Áíһ̨redhatÖ÷»ú£¬¶¨Ê±ÈÎÎñÖ´Ðд«ÊäʱÎļþ²¢Ã»Óд«Êä¹ýÈ¥£¬´ÓÈÕÖ¾¿´shell½Å±¾ÓÐÖ´ÐУ¬ÎÞ±¨´í¡£
crontabÖ´Ðеı¨´íÐÅϢΪ£ºlocal: alay.log1.2015-08-05: No such file or directory

shell½Å±¾Ãûftpfile.sh,ÄÚÈÝÈçÏ£º
#!/bin/bash
shlogpath=/usr/tomcat/alaydata/logs/ftplog
localpath=/usr/tomcat/alaydata/logs
targetpath=./src/old/data/alaylog
LogFile=${shlogpath}/ftp.log.`date +"%Y-%m-%d"`
hostip=192.168.3.4
ftpuser=imcd
ftpasswd=imcd132%%
fileName=alay.log1.`date -d "1 day ago" +"%Y-%m-%d"`

echo -e "\n\n\n">$LogFile
echo "-------------------------------------------------------------------" >>$LogFile
echo `date +"%Y-%m-%d %H:%M:%S"` >>$LogFile
echo -e "\n">>$LogFile
echo -e "ÈÎÎñÖ´ÐÐÇé¿ö£º\n\n" >>$LogFile
echo -e "¼ì²é"alay.log1.`date -d "1 day ago" +"%Y-%m-%d"`"ÎļþÊÇ·ñ´æÔÚ£º\n">>$LogFile

#ÅжÏÎļþÊÇ·ñ´æÔÚ
if [ -e $localpath/$fileName ] ; then
echo -e "Îļþ"alay.log1.`date -d "1 day ago" +"%Y-%m-%d"`"Îļþ"´æÔÚ£¡"\n">>$LogFile
echo "×¼±¸ÉÏ´«"alay.log1.`date -d "1 day ago" +"%Y-%m-%d"`"Îļþ...." >>$LogFile
echo "copy job starting......">>$LogFile
echo "........Ö´ÐÐÉÏ´«........" >>$LogFile
ftp -in $hostip << EOF
user $ftpuser $ftpasswd
cd $targetpath
bin
mput $fileName
bye
EOF
echo "........ÉÏ´«Íê±Ï£¡........">>$LogFile
echo "Îļþ["$fileName"]´«Êäµ½"$hostip"Ŀ¼"$targetpath"³É¹¦£¡">>$LogFile
echo -e "\n\n\n">>$LogFile
exit;
else
echo "Ŀ¼"$localpath"ÏÂÎļþ["$fileName"]²»´æÔÚ!">>$LogFile
echo -e "\n\n\n">>$LogFile
exit;
fi

vi /etc/crontabÌí¼Ó¶¨Ê±ÈÎÎñ£º
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
#MAILTO=root
HOME=/
1 1 * * * root /usr/tomcat/alaydata/logs/ftpfile.sh >>/root/alaydata/ftplog/crontab.log 2>&1
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ