我每天都想从远程系统复制一些文件,并且我必须在当天将所有这些文件放入一个文件夹中。是否可以自动执行此任务?我们目前所做的是通过 VNC 登录到远程计算机,然后转到首选位置并复制这些文件并将其放在文件夹中。如果有一天我们忘记了这一点,我们将无法记录当天的内容,因为文件将被覆盖。所以我想自动执行此任务,可以吗?有人可以帮我吗?提前谢谢。
笔记:远程系统运行Windows XP Professional
答案1
你可以非常轻松地解决 Windows 无法使用的问题:创建一个共享并将其挂载到你的 Linux 机器上(使用smbfs
或CIFS
)。这相当简单,所以我将这件事留给你和Ubuntu 帮助页面。
从那里开始就相当简单了:
创建一个脚本。给它起一个合乎逻辑的名字,把它放在不会被绊倒或意外移动的地方
chmod +x
。让脚本执行您想要的操作。我假设您将可写 Windows 共享安装为
/mnt/win
(/mnt/
如果您不希望它在 nautilus 中显示,请将其安装在下面),并且您希望将这些目录存储在 中~/daily-backups/
。#!/bin/bash SRC="/mnt/win" OUT="~/daily-backups" DATE=$(date '+%Y-%m-%d') NEWDIR="$OUT/$DATE" # make the new directory for today and cd into it mkdir -p "$NEWDIR" cd "$NEWDIR" cp -R "$SRC/*" . # could use rsync
cron
将其启动。假设您的脚本名为~/daily-backups/do-backups
。输入crontab -e
并在编辑器中添加如下新行:0 22 * * * ~/daily-backups/do-backups
这样,您的脚本就会每天晚上 10 点运行。显然,您可能希望将其调整为更合理的时间,但我不会将其设置为午夜,否则日期戳可能会令人困惑。
答案2
如果你能把 Cygwing 放在那个 Windows 机器上那么同步(通过 ssh)和计划任务将是标准解决方案。
这并不容易。
搜索“使用 rsync 备份”,首先会出现以下内容: http://www.mikerubel.org/computers/rsync_snapshots/- 非常好的资源。解释了如何使用快照(时间戳)设置备份。