当前位置: > shell编程 >

ftp上传与取得前一天日期的shell脚本

时间:2014-09-30 22:03来源:linux.it.net.cn 作者:it
在linux系统中,用于ftp上传的一个脚本,以及取得前一天日期的脚本一例。

要求:
把前一天的日志ftp到另外一台服务器。

在linux中查询前一天的日期,可以这样:
 

复制代码代码示例:
date --date='1 days ago' "+%d"

另外还有几种偷懒的方法:
昨天:
 

复制代码代码示例:
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'

下面用shell脚本实现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
}

ftp上传脚本,代码如下:
 

复制代码代码示例:

#!/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

至些,一个完整的ftp上传脚本就完成了,实现:将前一天的日志文件,同步到另一台服务器。

(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容