linux ftp上传脚本和取得前一天的日期

王朝system·作者佚名  2008-05-21
窄屏简体版  字體: |||超大  

今天工作需要要把前一天的日志ftp到另外一台服务器上去。。。

于是乎,上网翻查资料

感觉linux下的date命令很好玩,如果查询前一天是几日,那么是

date --date='1 days ago' "+%d"

很形象的命令

另外还有几种偷懒的方法:摘抄自: blog.flashphp.org/blog/2/dev/2006/09/28/linuxeeec

昨天:

date -d'-1 day' +'%Y%m%d'

date -d "1 days ago" +%Y%m%d

date --date='yesterday' '+%Y%m%d'

前天

date -d'-2 day' +'%Y%m%d'

date -d "2 days ago" +%Y%m%d

大前天

date -d'-3 day' +'%Y%m%d'

date -d "3 days ago" +%Y%m%d

明天

date -d'+1 day' +'%Y%m%d'

date -d "1 days next" +%Y%m%d

date --date='tomorrow' '+%Y%m%d'

.......

好了,这样子就可以得到昨天是几号了,接着来解决脚本自动ftp的问题,

为了方便,写了一个函数

uplogs() {

log_path="/var/log/mail/"$y"/"$m"/"$d"/"

log_file=$y$m$d"_mail_log"

ftp -n 192.168.0.12 << autoftp

user your_ftp_username your_ftp_password

ascii

put $log_path$s_log_file /$log_file

quit

autoftp

}

最后组合起来,脚本就是这样子的。

#!/bin/sh

y=`date --date='1 days ago' "+%Y"`

m=`date --date='1 days ago' "+%m"`

d=`date --date='1 days ago' "+%d"`

uplogs() {

log_path="/var/log/mail/"$y"/"$m"/"$d"/"

log_file=$y$m$d"_mail_log"

ftp -n 192.168.0.12 << autoftp

user your_ftp_username your_ftp_password

ascii

put $log_path$s_log_file /$log_file

quit

autoftp

}

uplogs

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航