如何使用CRON& amp;计划脚本将文件从远程服务器每小时复制到本地计算机并使用时间戳记。 SCP?

时间:2012-12-18 13:11:17

标签: linux shell ubuntu cron

我是一名编程学徒,最近在终端上完成了一项工作,我需要一些帮助,或者只是在正确的方向上指出我需要做什么。

我需要从远程服务器复制某个文件,并且每小时备份一次,并附上时间戳。我知道如何使用SSH连接到服务器,我也知道如何使用SCP传输文件 - 它只是编写我需要帮助的脚本。我知道我需要使用CRON来安排它我只是不知道如何把所有东西放在一起。我正在使用最新版本的Ubuntu。

非常感谢任何帮助。

感谢。

1 个答案:

答案 0 :(得分:3)

只需创建一个shell脚本:

#!/bin/bash
scp username@host:file.log file.log.`date +%H%M%S`

(错误检查已删除 - 不要忘记通过chmod u+x使其可执行)

日期调用采用当前日期/时间,创建时间戳并将其附加到目标日志文件名。所以你会得到类似的东西:

file.log.131504

这是基于时间的,但你可能想要一个日期。有关详情,请参阅heredate man page了解格式选项。

请注意,cron下的作业在减少环境的情况下运行(减少PATH等)。因此,请务必在脚本中设置所有适当的环境变量,cd到正确的目录等,并通过以下方式记录结果:

* * * * * /home/user/mycronscript.sh 2>&1 >/tmp/test.log