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
[@more@]
转自:http://blog.itpub.net/7916042/viewspace-1025115/
转载于:https://blog.51cto.com/hui90877/1930092