LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: maowei

前天如何表示?(承蒙各位大力支持,已经搞定,特把结果写出来)

[复制链接]
 楼主| 发表于 2005-6-21 22:25:01 | 显示全部楼层
目的:
期货公司的重要信息每天都生成在linux服务器的一个目录(/home/test/)中。以webgate20050620.log形式存放。现在要完成的任务是每天规定的时间备份前天的文件到windows服务器中。

实施方案:
linux机器:存放文件的目录为:/home/test/
windows(ftp服务开启): ip:192.168.0.8 ftpname:maowei
passwd:123456

在linux的/home/test/目录下建立如下的脚本(ftp.sh):
#!/bin/bash
now=$(date +%s)
befyest=$(($now-86400*2))
pres=$(date -d "1970-01-01 UTC $befyest seconds" +"%Y%m%d")
user=maowei
password=123456
autoftp()
{
ftp -n 192.168.0.8<< END

user $user $password
binary
put today$pres.log
bye
END
}
autoftp

如此建立传送脚本完成
下面就准备完成规定时间发送的问题
首先把刚才建立的文件命名为ftp.sh 放在指定的目录:/home/test 下 并且chmod 777 ftp.sh 让它有执行的权限
Crontab –e (建立例行性任务)
0 12 * * * /home/test/ftp.sh (这样每天的中午12点 系统就会去执行这个ftp.sh任务。把前天的日值文件上传到指定的windows服务器中去了)
回复 支持 反对

使用道具 举报

发表于 2005-6-21 23:08:16 | 显示全部楼层
很好的脚本应用,支持!!!
回复 支持 反对

使用道具 举报

发表于 2005-6-22 03:25:36 | 显示全部楼层
Post by maowei
目的:
期货公司的重要信息每天都生成在linux服务器的一个目录(/home/test/)中。以webgate20050620.log形式存放。现在要完成的任务是每天规定的时间备份前天的文件到windows服务器中。

实施方案:
linux机器:存放文件的目录为:/home/test/
windows(ftp服务开启): ip:192.168.0.8 ftpname:maowei
passwd:123456

在linux的/home/test/目录下建立如下的脚本(ftp.sh):
#!/bin/bash
now=$(date +%s)
befyest=$(($now-86400*2))
pres=$(date -d "1970-01-01 UTC $befyest seconds" +"%Y%m%d")
user=maowei
password=123456
autoftp()
{
ftp -n 192.168.0.8<< END

user $user $password
binary
put today$pres.log
bye
END
}
autoftp

如此建立传送脚本完成
下面就准备完成规定时间发送的问题
首先把刚才建立的文件命名为ftp.sh 放在指定的目录:/home/test 下 并且chmod 777 ftp.sh 让它有执行的权限
Crontab –e (建立例行性任务)
0 12 * * * /home/test/ftp.sh (这样每天的中午12点 系统就会去执行这个ftp.sh任务。把前天的日值文件上传到指定的windows服务器中去了)


在脚本中 *hard code* 密码时间非常危险的事!!!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-6-22 21:45:31 | 显示全部楼层
那这个密码问题如何解决?有什么好的建议?
回复 支持 反对

使用道具 举报

发表于 2005-6-23 02:56:22 | 显示全部楼层
Post by maowei
那这个密码问题如何解决?有什么好的建议?

建议之一是用密码文件,同时这个密码文件只有owner可以读,就像shadow文件一样。同时最好给密码文件加密,这样就不是明文的了。用的时候现解密,然后赋值。
回复 支持 反对

使用道具 举报

发表于 2005-7-1 12:19:40 | 显示全部楼层
前天=`date +%G%m%d -d '-2 day'`
echo $前天

不用那么复杂
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-7-2 12:39:51 | 显示全部楼层
Post by upandup
前天=`date +%G%m%d -d '-2 day'`
echo $前天

不用那么复杂


那如果是闰年闰月呢?如何办?今天是一号呢?如何办?
回复 支持 反对

使用道具 举报

发表于 2005-7-2 14:48:17 | 显示全部楼层
Post by upandup
前天=`date +%G%m%d -d '-2 day'`
echo $前天

不用那么复杂


好办法!
回复 支持 反对

使用道具 举报

发表于 2005-7-2 20:24:53 | 显示全部楼层
Post by maowei
那如果是闰年闰月呢?如何办?今天是一号呢?如何办?

没有影响的。试过就知道了。
回复 支持 反对

使用道具 举报

发表于 2005-7-13 14:09:56 | 显示全部楼层
date --date "2 days ago" +%Y%m%d
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表