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