我是一名编程学徒,最近得到了一份要在终端上完成的工作,我需要一些帮助,或者只是一些关于我需要做什么的正确方向的指示。
我需要从远程服务器复制某个文件并每小时备份一次,其中包含时间戳。我知道如何使用 SSH 连接到服务器,我也知道如何使用 SCP 传输文件——它只是在编写我需要帮助的脚本。我知道我需要使用 CRON 来安排它我只是不知道如何将所有内容放在一起。我正在使用最新版本的 Ubuntu。
任何帮助将非常感激。
谢谢。
只需创建一个shell脚本:
#!/bin/bash
scp username@host:file.log file.log.`date +%H%M%S`
(省略了错误检查 - 不要忘记通过 使其可执行chmod u+x
)
日期调用采用当前日期/时间,创建时间戳并将其附加到目标日志文件名。所以你会得到类似的东西:
file.log.131504
这是基于时间的,但您可能需要一个日期。有关更多信息,请参见此处和格式选项的日期手册页。
请注意,cron 下的作业在缩减的环境(缩减的 PATH 等)下运行。所以一定要在你的脚本中设置所有适当的环境变量,cd 到正确的目录等,并通过以下方式记录结果:
* * * * * /home/user/mycronscript.sh 2>&1 >/tmp/test.log