如何自动执行以下任务?

如何自动执行以下任务?

我每天都想从远程系统复制一些文件,并且我必须在当天将所有这些文件放入一个文件夹中在此处输入图片描述。是否可以自动执行此任务?我们目前所做的是通过 VNC 登录到远程计算机,然后转到首选位置并复制这些文件并将其放在文件夹中。如果有一天我们忘记了这一点,我们将无法记录当天的内容,因为文件将被覆盖。所以我想自动执行此任务,可以吗?有人可以帮我吗?提前谢谢。

笔记:远程系统运行Windows XP Professional

答案1

你可以非常轻松地解决 Windows 无法使用的问题:创建一个共享并将其挂载到你的 Linux 机器上(使用smbfsCIFS)。这相当简单,所以我将这件事留给你和Ubuntu 帮助页面

从那里开始就相当简单了:

  1. 创建一个脚本。给它起一个合乎逻辑的名字,把它放在不会被绊倒或意外移动的地方chmod +x

  2. 让脚本执行您想要的操作。我假设您将可写 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
    
  3. 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/- 非常好的资源。解释了如何使用快照(时间戳)设置备份。

相关内容