{"id":836,"date":"2013-05-22T03:45:26","date_gmt":"2013-05-22T03:45:26","guid":{"rendered":"https:\/\/cowman-chiang.no-ip.org\/wordpress\/?p=836"},"modified":"2019-06-20T10:26:11","modified_gmt":"2019-06-20T02:26:11","slug":"ftp-download-script","status":"publish","type":"post","link":"https:\/\/cowmanchiang.me\/wp\/?p=836","title":{"rendered":"FTP Download Script"},"content":{"rendered":"<p>&lt;<\/p>\n<p>pre lang=&#8221;bash&#8221;><\/p>\n<h1>!\/bin\/sh<\/h1>\n<h1>\u7a0b\u5f0f\u8aaa\u660e\uff1a\u6bcf\u65e5\u5c07 Mail Log \u532f\u5165 Splunk \u4e4b Script<\/h1>\n<h1>\u7248\u672c\u6642\u9593\uff1a2013\/05\/30 10:40<\/h1>\n<h1>\u958b\u767c\u7dad\u8b77\uff1acowman.chiang@udngroup.com<\/h1>\n<h1>\u6aa2\u67e5\u6a94\u6848\u662f\u5426\u5b58\u5728\uff0c\u5b58\u5728\u5247\u79fb\u9664\u6a94\u6848<\/h1>\n<h1>\u907f\u514dftp\u4e0b\u8f09\u6642\u7121\u6cd5\u8986\u84cb\u6a94\u6848\u4ee5\u81f4\u7121\u6cd5\u53d6\u5f97\u65b0\u7248\u6a94\u6848<\/h1>\n<p>function checkfile(){<br \/>\n  if test -f &#8220;${local_dir}\/${1}&#8221;<br \/>\n  then<br \/>\n    echo &#8220;File ${1} exist, remove!&#8221;<br \/>\n    rm &#8220;${local_dir}\/${1}&#8221;<br \/>\n  else<br \/>\n    echo &#8220;File ${1} not exist&#8221;<br \/>\n    a=1<br \/>\n  fi<br \/>\n}<\/p>\n<h1>\u8a2d\u5b9a Mail Log \u4e3b\u6a5f\u8cc7\u8a0a<\/h1>\n<p>HOST1={IP_address}<br \/>\nUSER1={User}<br \/>\nPASS1={Pass}<\/p>\n<h1>\u8a2d\u5b9a imss Log \u4e3b\u6a5f\u8cc7\u8a0a<\/h1>\n<p>HOST2={IP_address}<br \/>\nUSER2={User}<br \/>\nPASS2={Pass}<\/p>\n<h1>\u8a2d\u5b9a\u5404\u9805\u65e5\u671f\u3001\u7a0b\u5f0f\u53c3\u6578<\/h1>\n<p>year_d1=$(date &#8211;date=&#8221;1 days ago&#8221; +&#8221;%Y&#8221;)<br \/>\nyear_d2=$(date &#8211;date=&#8221;2 days ago&#8221; +&#8221;%Y&#8221;)<br \/>\nyear_d3=$(date &#8211;date=&#8221;3 days ago&#8221; +&#8221;%Y&#8221;)<br \/>\nmonth_d1=$(date &#8211;date=&#8221;1 days ago&#8221; +&#8221;%m&#8221;)<br \/>\nmonth_d2=$(date &#8211;date=&#8221;2 days ago&#8221; +&#8221;%m&#8221;)<br \/>\nmonth_d3=$(date &#8211;date=&#8221;3 days ago&#8221; +&#8221;%m&#8221;)<br \/>\next_d1=$(date &#8211;date=&#8221;1 days ago&#8221; +&#8221;%y%m%d&#8221;)<br \/>\next_d2=$(date &#8211;date=&#8221;2 days ago&#8221; +&#8221;%y%m%d&#8221;)<br \/>\nlocal_path=&#8221;\/home\/splunk_input_data&#8221;<br \/>\nlocal_dir=&#8221;${local_path}\/all&#8221;<br \/>\ndeclare -i date_dem=<code>date --date=\"20130501\" +%s<\/code><br \/>\ndeclare -i date_d2=<code>date --date=\"2 days ago\" +%s<\/code><br \/>\ndeclare -i date_total_s=$(($date_d2 &#8211; $date_dem))<br \/>\ndeclare -i date_diff=$(($date_total_s\/60\/60\/24))<br \/>\ndate_diff_d3=$((($date_diff &#8211; 1) * 86400 + 1367366400 ))<br \/>\ndate_diff_d2=$(($date_diff * 86400 + 1367366400 ))<br \/>\ndate_diff_d1=$((($date_diff + 1) * 86400 + 1367366400 ))<br \/>\ndate_d1_ext=$(date &#8211;date=&#8221;1 days ago&#8221; +&#8221;%Y%m%d&#8221;)<br \/>\ndate_d2_ext=$(date &#8211;date=&#8221;2 days ago&#8221; +&#8221;%Y%m%d&#8221;)<br \/>\ndate_d3_ext=$(date &#8211;date=&#8221;3 days ago&#8221; +&#8221;%Y%m%d&#8221;)<\/p>\n<h1>\u4f9d\u64da Log \u547d\u540d\u539f\u5247\u9032\u884c\u8a2d\u5b9a<\/h1>\n<p>pop3d_log=&#8221;pop3d.log.${ext_d1}&#8221;<br \/>\npop3d_log_m2=&#8221;${pop3d_log}_m2&#8243;<br \/>\nsmtpd_log=&#8221;smtpd.log.${ext_d1}&#8221;<br \/>\nsmtpd_log_m2=&#8221;${smtpd_log}_m2&#8243;<br \/>\nsmtpd_2log=&#8221;smtpd_2nd.log.${ext_d1}&#8221;<br \/>\nsmtpd_2log_m2=&#8221;${smtpd_2log}_m2&#8243;<br \/>\nlogin_log=&#8221;login.log.${ext_d1}&#8221;<br \/>\nlogin_log_m2=&#8221;${login_log}_m2&#8243;<br \/>\nimap4d_log=&#8221;imap4d.log.${ext_d1}&#8221;<br \/>\nimap4d_log_m2=&#8221;${imap4d_log}_m2&#8243;<br \/>\naccess_log=&#8221;access_log.${date_diff_d1}.${date_d1_ext}&#8221;<br \/>\naccess_log_m2=&#8221;${access_log}_m2&#8243;<br \/>\naccess_2log=&#8221;access_log.${date_diff_d2}.${date_d2_ext}&#8221;<br \/>\naccess_2log_m2=&#8221;${access_2log}_m2&#8243;<br \/>\naccess_3log=&#8221;access_log.${date_diff_d3}.${date_d3_ext}&#8221;<br \/>\naccess_3log_m2=&#8221;${access_3log}_m2&#8243;<br \/>\nimss_log=&#8221;log.imss.${date_d1_ext}.0001&#8243;<br \/>\nimss_log2=&#8221;log.imss.${date_d1_ext}.0002&#8243;<br \/>\nimss_2log=&#8221;log.imss.${date_d2_ext}.0001&#8243;<br \/>\nimss_2log2=&#8221;log.imss.${date_d2_ext}.0002&#8243;<br \/>\nmailerd_log=&#8221;mailerd.log.${ext_d1}&#8221;<br \/>\nmailerd_log2=&#8221;${mailerd_log}_m2&#8243;<br \/>\nmailerd_2log=&#8221;mailerd_2nd.log.${ext_d1}&#8221;<br \/>\nmailerd_2log2=&#8221;${mailerd_2log}_m2&#8243;<\/p>\n<h1>\u6aa2\u67e5\u6b32\u8655\u7406\u4e4b\u6a94\u6848\u662f\u5426\u5df2\u7d93\u5b58\u5728\u65bc\u66ab\u5b58\u76ee\u9304<\/h1>\n<p>checkfile ${pop3d_log}<br \/>\ncheckfile ${pop3d_log_m2}<br \/>\ncheckfile ${smtpd_log}<br \/>\ncheckfile ${smtpd_log_m2}<br \/>\ncheckfile ${smtpd_2log}<br \/>\ncheckfile ${smtpd_2log_m2}<br \/>\ncheckfile ${login_log}<br \/>\ncheckfile ${login_log_m2}<br \/>\ncheckfile ${imap4d_log}<br \/>\ncheckfile ${imap4d_log_m2}<br \/>\ncheckfile ${access_log}<br \/>\ncheckfile ${access_log_m2}<br \/>\ncheckfile ${access_2log}<br \/>\ncheckfile ${access_2log_m2}<br \/>\ncheckfile ${access_3log}<br \/>\ncheckfile ${access_3log_m2}<br \/>\ncheckfile ${imss_log}<br \/>\ncheckfile ${imss_log2}<br \/>\ncheckfile ${imss_2log}<br \/>\ncheckfile ${imss_2log2}<br \/>\ncheckfile ${mailerd_log}<br \/>\ncheckfile ${mailerd_log2}<br \/>\ncheckfile ${mailerd_2log}<br \/>\ncheckfile ${mailerd_2log2}<\/p>\n<h1>\u8f38\u51fa\u672c\u6b21\u65e5\u671f<\/h1>\n<p>echo <code>date +%Y%m%d<\/code><\/p>\n<h1>\u7576\u767c\u73fe\u786c\u789f\u4f7f\u7528\u7387\u5927\u65bc80%\u6642\uff0c\u901a\u77e5\u7dad\u8b77\u4eba\u54e1<\/h1>\n<p>if [ <code>\/bin\/df -h | awk 'NR==4 {print $5}' | sed 's\/%\/\/'<\/code> -ge 80 ]<br \/>\nthen<br \/>\n    (<br \/>\n      echo To: cowman.chiang@udngroup.com<br \/>\n      echo From: Splunk@udnlap01<br \/>\n      echo Subject: Splunk Server disk usage > 80%<br \/>\n      echo<br \/>\n    ) | \/usr\/sbin\/sendmail -t<br \/>\nfi<\/p>\n<h1>FTP\u6293\u53d6\u7b2c\u4e00\u968e\u6bb5<\/h1>\n<p>echo &#8220;sftping file &#8230; (1\/2)&#8221;<\/p>\n<p>lftp -u ${USER1},${PASS1} sftp:\/\/${HOST1} &lt;&lt;EOF<br \/>\n  lcd ${local_dir}<br \/>\n  cd \/webmail\/usr\/share\/log_archive\/${year_d1}<em>${month_d1}<br \/>\n  get ${pop3d_log}<br \/>\n  get ${pop3d_log_m2}<br \/>\n  get ${smtpd_log}<br \/>\n  get ${smtpd_log_m2}<br \/>\n  get ${smtpd_2log}<br \/>\n  get ${smtpd_2log_m2}<br \/>\n  get ${login_log}<br \/>\n  get ${login_log_m2}<br \/>\n  get ${imap4d_log}<br \/>\n  get ${imap4d_log_m2}<br \/>\n  get ${access_log}<br \/>\n  get ${access_log_m2}<br \/>\n  get ${mailerd_log}<br \/>\n  get ${mailerd_log2}<br \/>\n  get ${mailerd_2log}<br \/>\n  get ${mailerd_2log2}<br \/>\n  cd \/webmail\/usr\/share\/log_archive\/${year_d2}<\/em>${month_d2}<br \/>\n  get ${access_2log}<br \/>\n  get ${access_2log_m2}<br \/>\n  cd \/webmail\/usr\/share\/log_archive\/${year_d3}_${month_d3}<br \/>\n  get ${access_3log}<br \/>\n  get ${access_3log_m2}<br \/>\n  bye<br \/>\nEOF<\/p>\n<h1>FTP\u6293\u53d6\u7b2c\u4e8c\u968e\u6bb5<\/h1>\n<p>echo &#8220;sftping file &#8230; (2\/2)&#8221;<\/p>\n<p>lftp -u ${USER2},${PASS2} sftp:\/\/${HOST2} &lt;&lt;EOF<br \/>\n  lcd ${local_dir}<br \/>\n  cd \/opt\/trend\/imss\/log<br \/>\n  get ${imss_log}<br \/>\n  get ${imss_log2}<br \/>\n  get ${imss_2log}<br \/>\n  get ${imss_2log2}<br \/>\n  bye<br \/>\nEOF<\/p>\n<h1>\u8f38\u51fa\u672c\u6b21\u6293\u53d6\u8cc7\u6599\u91cf<\/h1>\n<p>echo &#8220;<code>\/usr\/bin\/du -m ${local_dir} | awk '{print $1}'<\/code>MB&#8221;<\/p>\n<h1>\u5047\u8a2d\u6293\u53d6\u8cc7\u6599\u91cf\u5c0f\u65bc450MB\u5247\u9032\u884c<\/h1>\n<h1>\u4f46\u6709\u53ef\u80fd\u8aa4\u5224\uff0c\u56e0access.log\u7522\u751f\u6642\u9593\u4e0d\u78ba\u5b9a\uff0c\u6545\u5728\u57f7\u884c\u4e0a\u6703\u5f9e\u4e09\u5929\u524d\u4e4b\u6a94\u6848\u9032\u884c\u6293\u53d6<\/h1>\n<h1>\u4ee5\u81f3\u65bc\u6709\u53ef\u80fd\u6293\u53d6\u5230\u91cd\u8907\u7684\u6a94\u6848\uff0c\u5c0e\u81f4\u6293\u53d6\u8cc7\u6599\u91cf\u9060\u5927\u65bc\u5c07\u532f\u5165Splunk\u8655\u7406\u7684\u8cc7\u6599\u91cf<\/h1>\n<p>if [ <code>\/usr\/bin\/du -m ${local_dir} | awk '{print $1}'<\/code> -lt 450 ]<br \/>\nthen<\/p>\n<h1>\u5047\u8a2d\u63db\u5e74\u5ea6\u4e86\uff0c\u5247\u5275\u5efa\u65b0\u7684\u5e74\u5ea6\u76ee\u9304\uff0c\u4e26\u901a\u77e5\u7dad\u8b77\u4eba\u54e1\u63db\u5e74\u5ea6\u4e86\uff0c\u9700\u8981\u4e0a\u4f86\u6aa2\u67e5\u4e00\u4e0b<\/h1>\n<p>if [ ${year_d1} -gt ${year_d2} ]<br \/>\n  then<br \/>\n    mkdir ${local_path}\/pop3d\/${year_d1}\/<br \/>\n    mkdir ${local_path}\/smtpd\/${year_d1}\/<br \/>\n    mkdir ${local_path}\/login\/${year_d1}\/<br \/>\n    mkdir ${local_path}\/imap4d\/${year_d1}\/<br \/>\n    mkdir ${local_path}\/access\/${year_d1}\/<br \/>\n    mkdir ${local_path}\/imss\/${year_d1}\/<br \/>\n    mkdir ${local_path}\/mailerd\/${year_d1}\/<br \/>\n    (<br \/>\n      echo To: cowman.chiang@udngroup.com<br \/>\n      echo From: Splunk@udnlap01<br \/>\n      echo Subject: Splunk Change Year<br \/>\n      echo<br \/>\n    ) | \/usr\/sbin\/sendmail -t<br \/>\n  fi<\/p>\n<h1>\u642c\u79fb\u6a94\u6848\u5230\u6307\u5b9a\u76ee\u9304<\/h1>\n<p>mv ${local_dir}\/${pop3d_log} ${local_path}\/pop3d\/${year_d1}\/<br \/>\n  mv ${local_dir}\/${pop3d_log_m2} ${local_path}\/pop3d\/${year_d1}\/<br \/>\n  mv ${local_dir}\/${smtpd_log} ${local_path}\/smtpd\/${year_d1}\/<br \/>\n  mv ${local_dir}\/${smtpd_log_m2} ${local_path}\/smtpd\/${year_d1}\/<br \/>\n  mv ${local_dir}\/${smtpd_2log} ${local_path}\/smtpd\/${year_d1}\/<br \/>\n  mv ${local_dir}\/${smtpd_2log_m2} ${local_path}\/smtpd\/${year_d1}\/<br \/>\n  mv ${local_dir}\/${login_log} ${local_path}\/login\/${year_d1}\/<br \/>\n  mv ${local_dir}\/${login_log_m2} ${local_path}\/login\/${year_d1}\/<br \/>\n  mv ${local_dir}\/${imap4d_log} ${local_path}\/imap4d\/${year_d1}\/<br \/>\n  mv ${local_dir}\/${imap4d_log_m2} ${local_path}\/imap4d\/${year_d1}\/<br \/>\n  mv ${local_dir}\/${access_log} ${local_path}\/access\/${year_d1}\/<br \/>\n  mv ${local_dir}\/${access_log_m2} ${local_path}\/access\/${year_d1}\/<br \/>\n  mv ${local_dir}\/${access_2log} ${local_path}\/access\/${year_d2}\/<br \/>\n  mv ${local_dir}\/${access_2log_m2} ${local_path}\/access\/${year_d2}\/<br \/>\n  mv ${local_dir}\/${access_3log} ${local_path}\/access\/${year_d3}\/<br \/>\n  mv ${local_dir}\/${access_3log_m2} ${local_path}\/access\/${year_d3}\/<br \/>\n  mv ${local_dir}\/${imss_log} ${local_path}\/imss\/${year_d1}\/<br \/>\n  mv ${local_dir}\/${imss_log2} ${local_path}\/imss\/${year_d1}\/<br \/>\n  mv ${local_dir}\/${imss_2log} ${local_path}\/imss\/${year_d2}\/<br \/>\n  mv ${local_dir}\/${imss_2log2} ${local_path}\/imss\/${year_d2}\/<br \/>\n  mv ${local_dir}\/${mailerd_log} ${local_path}\/mailerd\/${year_d1}\/<br \/>\n  mv ${local_dir}\/${mailerd_log2} ${local_path}\/mailerd\/${year_d1}\/<br \/>\n  mv ${local_dir}\/${mailerd_2log} ${local_path}\/mailerd\/${year_d1}\/<br \/>\n  mv ${local_dir}\/${mailerd_2log2} ${local_path}\/mailerd\/${year_d1}\/<br \/>\n  echo &#8220;move ok&#8221;<\/p>\n<h1>\u642c\u79fb\u5b8c\u6210\uff0c\u901a\u77e5\u7dad\u8b77\u4eba\u54e1\u672c\u65e5\u532f\u5165\u6210\u529f<\/h1>\n<h1>mail -s &#8220;Splunk input data ok&#8221; cowman.chiang@udngroup.com &lt; \/home\/splunk_input_data\/ok.txt<\/h1>\n<p>(<br \/>\n    echo To: cowman.chiang@udngroup.com<br \/>\n    echo From: Splunk@udnlap01<br \/>\n    echo Subject: Splunk Input Data ok<br \/>\n    echo<br \/>\n    cat ${local_path}\/ok.txt<br \/>\n  ) | \/usr\/sbin\/sendmail -t<\/p>\n<p>else<\/p>\n<h1>\u8655\u7406\u5931\u6557\uff0c\u901a\u77e5\u7dad\u8b77\u4eba\u54e1\u672c\u65e5\u56e0\u8cc7\u6599\u91cf\u5927\u65bc450mb\uff0c\u9700\u8981\u624b\u52d5\u9032\u884c\u64cd\u4f5c<\/h1>\n<h1>mail -s &#8220;Splunk input data no ok&#8221; cowman.chiang@udngroup.com &lt; \/home\/splunk_input_data\/nok.txt<\/h1>\n<p>(<br \/>\n    echo To: cowman.chiang@udngroup.com<br \/>\n    echo From: Splunk@udnlap01<br \/>\n    echo Subject: Splunk Input Data No ok<br \/>\n    echo<br \/>\n    cat ${local_path}\/nok.txt<br \/>\n  ) | \/usr\/sbin\/sendmail -t<br \/>\nfi<\/p>\n<p>echo &#8220;done&#8221;\n<\/pre><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&lt; pre lang=&#8221;bash&#8221;> !\/bin\/sh \u7a0b\u5f0f\u8aaa\u660e\uff1a\u6bcf\u65e5\u5c07 Mail Log \u532f\u5165 Splunk \u4e4b Script \u7248\u672c\u6642\u9593\uff1a2013\/05\/30 10:40 \u958b\u767c\u7dad\u8b77\uff1acowman.chiang@udngroup.com \u6aa2\u67e5\u6a94\u6848\u662f\u5426\u5b58\u5728\uff0c\u5b58\u5728\u5247\u79fb\u9664\u6a94\u6848 \u907f\u514dftp\u4e0b\u8f09\u6642\u7121\u6cd5\u8986\u84cb\u6a94\u6848\u4ee5\u81f4\u7121\u6cd5\u53d6\u5f97\u65b0\u7248\u6a94\u6848 function checkfile(){ if test -f &#8220;${local_dir}\/${1}&#8221; then echo &#8220;File ${1} exist, remove!&#8221; rm &#8220;${local_dir}\/${1}&#8221; else echo &#8220;File ${1} not exist&#8221; a=1 fi } \u8a2d\u5b9a &hellip; <a href=\"https:\/\/cowmanchiang.me\/wp\/?p=836\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[58,77],"tags":[],"class_list":["post-836","post","type-post","status-publish","format-standard","hentry","category-linux","category-splunk"],"_links":{"self":[{"href":"https:\/\/cowmanchiang.me\/wp\/index.php?rest_route=\/wp\/v2\/posts\/836","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cowmanchiang.me\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cowmanchiang.me\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cowmanchiang.me\/wp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cowmanchiang.me\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=836"}],"version-history":[{"count":1,"href":"https:\/\/cowmanchiang.me\/wp\/index.php?rest_route=\/wp\/v2\/posts\/836\/revisions"}],"predecessor-version":[{"id":2085,"href":"https:\/\/cowmanchiang.me\/wp\/index.php?rest_route=\/wp\/v2\/posts\/836\/revisions\/2085"}],"wp:attachment":[{"href":"https:\/\/cowmanchiang.me\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=836"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cowmanchiang.me\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=836"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cowmanchiang.me\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=836"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}