2008-11-14 3 views
5

Мне нужно автоматически копировать файлы с Linux-машины в окна один раз в день.Автоматическое копирование файлов с компьютера Linux на компьютер с Windows

Я ищу что-то простое и безопасное, как scp, rsync, sftp. К сожалению, мне не удается установить это на машине Windows.

Кто-нибудь знает, как это сделать?

ответ

6

Вы можете попробовать установить диск Windows в качестве точки монтирования на машине Linux, используя smbfs; вы могли бы использовать обычные скриптовые и копировальные инструменты Linux, такие как cron и scp/rsync, чтобы выполнить копирование.

1

Вы можете попробовать WinSCP и его scripting support. И Windows поддерживает какую-то cron-подобную операцию в своем управлении, не так ли?

+1

хрон = "Назначенные задания" в Windows, – 2008-11-14 11:26:17

2

Вы можете найти rsync для окон в cygwin, с помощью которого вы можете настроить сервер rsync на окне окна и запустить задание cron на вашей машине linux rsync'ing всех файлов на машину Windows. Раньше мы это делали и работали нормально.

2

«Я не могу установить это на машине Windows». Windows - это клиент или сервер? Потерять означает, что конкретно? Что вы не можете сделать?

«Линукс-машина для окон» может быть выполнена двумя способами.

  1. Linux является клиентом. Windows запускает FTP или SCP или SSH-сервер. У Linux есть клиент и толкает файл в Windows. Посмотрите на FileZilla для бесплатного FTP-сервера. Кроме того, в окнах часто есть служба FTP, которая отключена. Включите его.

  2. Windows - клиент. Windows периодически вытаскивает файл с сервера linux. Это проще, поскольку Linux уже имеет все необходимые серверы. Вы, Howeveevr, должны запустить их в Linux.

Существует множество клиентов sftp, scp для Windows. Windows поставляется с ftp-клиентом. Google для sftp-клиента. Вы найдете WinSCP, Putty, filezilla и список free country Список клиентов sftp.

2

Я не использовал его в годах, но вы можете попробовать Унисон из http://www.cis.upenn.edu/~bcpierce/unison/

Это может быть сделано с «smbclient», которая действует так же, как клиент FTP на долю Windows. Посмотрите справочную страницу: man smbclient и найдите способы сценария с опцией -c, или man expect, чтобы управлять ею.

Вот как я бы, наверное, сделать это, хотя:

  1. Пика, который пользователь вы собираетесь быть при синхронизации файлов. Войдите в систему как этого пользователя и введите «id», и получите цифровой номер . Вы будете использовать этот идентификатор в шаге 4
  2. Стать «корень»
  3. mkdir /mnt/sharename
  4. Редактировать файл/и т.д./файл Fstab и добавьте запись что-то вроде этого. Замените идентификатор пользователя на 500 идентификатором пользователя.Замените имя файла общим именем вашего окна. Замените WINDOWSHOSTNAME на ваше имя хоста или IP-адрес. Если вы не знаете акции, запустите smbclient -L WINDOWSHOSTNAME.

    //WINDOWSHOSTNAME/sharename /mnt/sharename cifs credentials=/root/smblogin,uid=500,noauto,user 0 0

  5. Редактировать/корень/smblogin и поставить следующие две строки в нем

    username=YOUR_WINDOWS_USERNAME
    password=YOUR_WINDOWS_PASSWOD

  6. Войти как пользователь с шага 1.

  7. Попробуйте установить его: mount /mnt/sharename
  8. Если это удастся, напишите сценарий, чтобы сделать это автоматически. Давайте назовем это 'backup.sh':

    #!/bin/sh
    df | grep -q /mnt/sharename
    if test $? -ne 0 ; then
    mount /mnt/sharename
    fi
    cp -r /path/to/dir /mnt/sharename/destination/

  9. Использование хрон для запуска сценария.

    1. Тип crontab -e
    2. Вставьте следующий файл:

    PATH=/bin:/usr/bin
    # Backup at 2:15 A.M. every day. Run 'man 5 crontab' for help on the time format
    15 2 * * * /path/to/backup.sh

Смежные вопросы