家里的ubuntu长期24小时运行每天都定时下载一个文件并添加日期

sh/bash/dash/ksh/zsh等Shell脚本
回复
cem
帖子: 170
注册时间: 2011-03-10 19:08

家里的ubuntu长期24小时运行每天都定时下载一个文件并添加日期

#1

帖子 cem » 2014-12-13 12:58

各位同好,家里的ubuntu长期24小时运行。我想要定时下载一个网页html(或者htm),因为此网页每次更新都会覆盖昨天的内容,为了保存历史记录,我想让ubuntu每天定时下载保存后在原文件名的基础上添加日期比如20141213(2014_12_13)方便日后查询历史记录。请问有什么办法可以实现?谢谢
头像
jarlyyn
帖子: 4671
注册时间: 2006-04-12 18:54
联系:

Re: 家里的ubuntu长期24小时运行每天都定时下载一个文件并添加日期

#2

帖子 jarlyyn » 2014-12-13 14:37

首先,假定你会下载,会在/etc/cron.daily里添加计划任务。

你的问题是,怎么在shell脚本里给变量设置为当前时间。

当前时间可以通过linux的date命令取得,如date +%Y-%m-%d

那么你的问题是,怎么在shell中把程序的显示设置为变量的值。

shell中可以通过把`(1左边的那个符号)包住程序来实现这一点。

范例代码:

#!/bin/bash
filename=`date +%Y-%m-%d`
echo $filename

把echo替换为你的下载命令,如wget/curl等即可
cem
帖子: 170
注册时间: 2011-03-10 19:08

Re: 家里的ubuntu长期24小时运行每天都定时下载一个文件并添加日期

#3

帖子 cem » 2014-12-17 12:17

jarlyyn 写了:首先,假定你会下载,会在/etc/cron.daily里添加计划任务。

你的问题是,怎么在shell脚本里给变量设置为当前时间。

当前时间可以通过linux的date命令取得,如date +%Y-%m-%d

那么你的问题是,怎么在shell中把程序的显示设置为变量的值。

shell中可以通过把`(1左边的那个符号)包住程序来实现这一点。

范例代码:

#!/bin/bash
filename=`date +%Y-%m-%d`
echo $filename

把echo替换为你的下载命令,如wget/curl等即可
谢谢 不好意思 最近忙

"#!/bin/bash"

是什么呢?

而且我需要下载的网页的地址不会变 是没有日期的
头像
oneleaf
论坛管理员
帖子: 10441
注册时间: 2005-03-27 0:06
系统: Ubuntu 12.04

Re: 家里的ubuntu长期24小时运行每天都定时下载一个文件并添加日期

#4

帖子 oneleaf » 2014-12-17 15:05

代码: 全选

cat << "EOF" > /etc/cron.daily/downloadhtml.sh
#!/bin/bash
wget "http://www.xxx.com/xxx.html" -O "/save_path/`date +%Y-%m-%d`.html"
EOF
chmod +x /etc/cron.daily/downloadhtml.sh
/etc/init.d/cron restart
头像
jarlyyn
帖子: 4671
注册时间: 2006-04-12 18:54
联系:

Re: 家里的ubuntu长期24小时运行每天都定时下载一个文件并添加日期

#5

帖子 jarlyyn » 2014-12-17 15:29

cem 写了:
jarlyyn 写了:首先,假定你会下载,会在/etc/cron.daily里添加计划任务。

你的问题是,怎么在shell脚本里给变量设置为当前时间。

当前时间可以通过linux的date命令取得,如date +%Y-%m-%d

那么你的问题是,怎么在shell中把程序的显示设置为变量的值。

shell中可以通过把`(1左边的那个符号)包住程序来实现这一点。

范例代码:

#!/bin/bash
filename=`date +%Y-%m-%d`
echo $filename

把echo替换为你的下载命令,如wget/curl等即可
谢谢 不好意思 最近忙

"#!/bin/bash"

是什么呢?

而且我需要下载的网页的地址不会变 是没有日期的
是告诉系统用什么来执行这个脚本。

变的是保存的地址
头像
susbarbatus
帖子: 2966
注册时间: 2010-04-10 16:14
系统: Arch Linux

Re: 家里的ubuntu长期24小时运行每天都定时下载一个文件并添加日期

#6

帖子 susbarbatus » 2014-12-17 17:23

+%Y-%m-%d 可以简化为 +%F
沉迷将棋中……
cem
帖子: 170
注册时间: 2011-03-10 19:08

Re: 家里的ubuntu长期24小时运行每天都定时下载一个文件并添加日期

#7

帖子 cem » 2014-12-19 20:20

oneleaf 写了:

代码: 全选

cat << "EOF" > /etc/cron.daily/downloadhtml.sh
#!/bin/bash
wget "http://www.xxx.com/xxx.html" -O "/save_path/`date +%Y-%m-%d`.html"
EOF
chmod +x /etc/cron.daily/downloadhtml.sh
/etc/init.d/cron restart
谢谢 其实我不会用每天的cron定时 比如想在每天下午14:00的时候下载这个网页 要怎么设置呢
我现在每天都手动下载这三个网页 有几年了吧 感觉真的太累了
头像
astolia
论坛版主
帖子: 6444
注册时间: 2008-09-18 13:11

Re: 家里的ubuntu长期24小时运行每天都定时下载一个文件并添加日期

#8

帖子 astolia » 2014-12-20 23:50

代码: 全选

echo "0 14 * * * wget 'http://xxx.com/xxx.html' -O ~/`date +%F`.html" | crontab 
注意上面的写法会覆盖已有的内容。如果你要下载多个网页的话,需要像下面这样干

代码: 全选

echo "0 14 * * * wget 'http://xxx.com/xxx.html' -O ~/xxx_`date +%F`.html
0 15 * * * wget 'http://xxx.com/xxx1.html' -O ~/xxx1_`date +%F`.html
0 16 * * * wget 'http://xxx.com/xxx2.html' -O ~/xxx2_`date +%F`.html" | crontab 
cem
帖子: 170
注册时间: 2011-03-10 19:08

Re: 家里的ubuntu长期24小时运行每天都定时下载一个文件并添加日期

#9

帖子 cem » 2014-12-27 10:59

谢谢....
"0 14 * * * "是什么意思呢?比如想在每天下午14:00的时候下载这个网页 要怎么设置呢
chaoEmilychao
帖子: 1
注册时间: 2014-12-28 22:49
系统: SUMSUNG

Re: 家里的ubuntu长期24小时运行每天都定时下载一个文件并添加日期

#11

帖子 chaoEmilychao » 2014-12-28 23:36

刚来这儿,希望各位多多指导!
cem
帖子: 170
注册时间: 2011-03-10 19:08

Re: 家里的ubuntu长期24小时运行每天都定时下载一个文件并添加日期

#12

帖子 cem » 2015-01-01 21:29

我试试 谢谢
infidel
帖子: 136
注册时间: 2012-03-28 10:16

Re: 家里的ubuntu长期24小时运行每天都定时下载一个文件并添加日期

#13

帖子 infidel » 2015-03-06 16:42

八仙过海,各显神通啊。
coolbengo
帖子: 69
注册时间: 2009-02-14 23:24

Re: 家里的ubuntu长期24小时运行每天都定时下载一个文件并添加日期

#14

帖子 coolbengo » 2015-09-23 10:41

cem 写了:谢谢....
"0 14 * * * "是什么意思呢?比如想在每天下午14:00的时候下载这个网页 要怎么设置呢
每天14点
上面的师兄已给出了答案。
回复