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

发布时间:2020-09-13编辑:脚本学堂
本文介绍下,在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'

有关linux下date命令的详细用法,请参考:
linux中用date进行简单的日期计算方法
linux中使用date命令得到N天前的日期
date用法一例
修改linux时间和日期的命令date、clock

下面用shell/ target=_blank class=infotextkey>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
#edit by www.jb200.com

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上传脚本就完成了,实现:将前一天的日志文件,同步到另一台服务器。

学shell脚本编程,就来脚本学堂,祝大家学习愉快!