2008-11-14 31 views
5

Tôi cần tự động sao chép tệp từ máy linux sang cửa sổ một lần mỗi ngày.Tự động sao chép tệp từ máy Linux sang máy Windows

Tôi đang tìm một thứ đơn giản và an toàn như scp, rsync, sftp. Thật không may, tôi đang mất một cách làm thế nào để thiết lập này trên máy tính Windows.

Có ai biết cách thực hiện việc này không?

Trả lời

6

Bạn có thể thử gắn ổ đĩa Windows làm điểm gắn kết trên máy Linux, sử dụng smbfs; sau đó bạn có thể sử dụng các công cụ sao chép và sao chép Linux thông thường như cron và scp/rsync để thực hiện sao chép.

1

Bạn có thể thử WinSCPscripting support của nó. Và Windows hỗ trợ một số hoạt động giống như cron trong công cụ quản lý của nó, phải không?

+1

cron = "Scheduled Tasks" trong Windows –

2

Bạn có thể tìm rsync cho windows trong Cygwin, với điều đó bạn có thể thiết lập máy chủ rsync trên hộp windows và chạy một công việc cron trên máy linux của bạn rsync'ing tất cả các tệp vào máy tính Windows. Chúng tôi đã từng làm điều đó và nó hoạt động tốt.

2

"Tôi không biết cách thiết lập tính năng này trên máy tính Windows." Windows là máy khách hay máy chủ? Tại một mất mát có nghĩa là gì, cụ thể? Bạn không thể làm gì?

"máy linux vào cửa sổ" có thể được thực hiện theo hai cách.

  1. Linux là ứng dụng khách. Windows chạy một máy chủ FTP hoặc SCP hoặc SSH. Linux có một máy khách và đẩy tập tin vào Windows. Hãy xem FileZilla để có các cửa sổ FTP server miễn phí. Ngoài ra, các cửa sổ thường có một dịch vụ FTP bị tắt. Bật nó lên.

  2. Windows là ứng dụng khách. Windows định kỳ kéo tệp từ máy chủ Linux. Điều này dễ dàng hơn, vì Linux đã có sẵn tất cả các máy chủ cần thiết. Bạn làm, howeveevr, cần phải bắt đầu chúng trên Linux.

Có số lượng khách hàng sftp, scp cho Windows. Windows đi kèm với một khách hàng ftp. Google cho khách hàng sftp. Bạn sẽ tìm thấy WinSCP, Putty, filezilla và liệt kê danh sách các khách hàng sftp free country.

2

tôi đã không sử dụng nó trong năm nay, nhưng bạn có thể thử Unison từ http://www.cis.upenn.edu/~bcpierce/unison/

Nó có thể được thực hiện với 'smbclient', hoạt động giống như một ứng dụng FTP để một phần Windows. Hãy xem manpage: man smbclient và tìm cách tạo kịch bản theo tùy chọn -c hoặc man expect để lái xe.

Đây là cách tôi có lẽ muốn làm điều đó mặc dù:

  1. Pick mà người dùng mà bạn đang đi để được khi bạn đồng bộ hóa các tập tin. Đăng nhập với tên người dùng này và nhập 'id' và nhận được số ID . Bạn sẽ sử dụng ID này trong bước 4
  2. Trở thành 'root'
  3. mkdir /mnt/sharename
  4. Chỉnh sửa/etc/fstab tập tin của bạn và thêm một cái gì đó entry như thế này. Thay thế ID người dùng là 500 bằng ID người dùng của bạn.Thay thế tên chia sẻ bằng tên chia sẻ cửa sổ của bạn. Trả lời WINDOWSHOSTNAME bằng tên máy chủ hoặc địa chỉ IP của bạn. Nếu bạn không biết các cổ phiếu, hãy chạy smbclient -L WINDOWSHOSTNAME.

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

  5. Edit/root/smblogin và đưa hai dòng sau đây trong đó

    username=YOUR_WINDOWS_USERNAME
    password=YOUR_WINDOWS_PASSWOD

  6. Đăng nhập như là người dùng từ bước 1.

  7. Thử gắn phần chia sẻ: mount /mnt/sharename
  8. Nếu thành công, sau đó viết kịch bản để tự động thực hiện. Hãy gọi nó là '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. Sử dụng cron để chạy các kịch bản.

    1. Loại crontab -e
    2. Đặt sau trong file:

    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

Các vấn đề liên quan