از روش های زیر و دیگر روش های احتمالی کدام یک
۱- سریعترین (برای انتقال اطلاعات معمولی مثل فیلم سینمایی و غیره در خانه)
۲- امنترین (برای وصل شدن به کامپیوترهای دانشکده)
است؟
کلید حل مسئله: یکی از طرفین باید تبدیل به سرور بشه!
rsyncسینک داده بین چندین کامپیوتر در شبکه یا بین چنین فولدر روی یک رایانه
rsync -vxtr /home/user1/A/ /home/user2/B/
rsync -vxtr -delete /home/user1/A/ /home/user2/B/
با delete دو کامپیوتر mirror یکدیگر می شوند. بدون delete فقط عمل اضافه فایلهای جدید انجام میشه و سینک واقعی انجام نمی گیره.
مشکلی که در مورد rsync گزارش کرده بودند:
http://stackoverflow.com/questions/3641181/does-rsync-ignore-file-timestamps-and-automatically-overwrite-on-client-if-fileUnisonیک نسخه از rsync که در ترمینال و در دسکتاپ کار میکند. GUI داره.
http://www.cis.upenn.edu/%7Ebcpierce/unisonhttps://help.ubuntu.com/community/Unisonانشعابهای دیگر از آرسینک: Conduit - GRSync - grsync gtkrsync - unison - luckybackup - mrb و غیره که در softwer center وجود دارند.
SimpleHTTPServerخیلی از سادگی اش تعریف کرده بودند. وارد پوشه ای که باید سینک بشه می شویم و دستور زیر را به کار میبریم:
python -m SimpleHTTPServer 8000
http://docs.python.org/release/2.7/library/simplehttpserver.htmlServe current directory tree at http://$HOSTNAME:8000
If you have "index.html" or "index.htm" files, it will serve those, otherwise it will list the contents of the currently working directory
It works because python comes with a standard module called SimpleHTTPServer
The -m argument makes python to search for a module named SimpleHTTPServer.py in all the possible system locations (listed in sys.path and $PYTHONPATH shell variable)
Ctrl+c to stop
Sambaبرای انتقال بین لینوکس-لینوکس و لینوکس-ویندوز به کار میرود.
برای انتقال بین لینوکس و ویندوز یک درایو ویندوزی باید معرفی بشه. یک مسیر روی لینوکس و یک sharename هم باید تعریف بشه.
در ویندوز با کلیدهای WindowsKey+R یک جعبه به نام Run باز میشود که باید آدرس پوشه در لینوکس رو به صورت زیر وارد کنم:
\\IP-ADDRESS
نحوه استفاده در Natilus:
smb://ip-of-source-machine/folder/
برای انتقال بین اوبونتو و اوبونتو در لینک زیر با عکس آموزش داده:
http://askubuntu.com/questions/156169/how-do-i-set-up-file-sharing-between-two-ubuntu-laptops-on-my-wireless-networksshhttps://help.ubuntu.com/community/SSH/TransferFilesمناسب برای انتقال بین فقط سیستمهای لینوکسی با امکان encrypting در حین انتقال
دستور نصب: sudo apt-get install openssh-server openssh-client
Rsync و ssh
می خوام بین کامپیوتری که آی پی 192.168.20.9 گرفته (و لاگین هستم) و کامپیوتری که آی پی 192.168.20.10 دادم، فایل انتقال بدهم. به دومی کانکت می شوم:
ssh 192.168.20.10
پسوردی که روی 192.168.20.10 دارم باید وارد کنم.
می خوام فایل todo.txt رو از دسکتاپم با آی پی 192.168.20.10 به 192.168.20.9 بفرستم.
به کامپیوتری که آی پی 192.168.20.9 خورده لاگین میکنم:
rsync -av 192.168.20.10:Desktop/todo.txt ~/Desktop/todo.txt
یا اگر در 192.168.20.10 که میزبان فایلهای لاگین هستم:
rsync -av ~/Desktop/todo.txt 192.168.20.9:Desktop/todo.txt
همه چی در یک دستور:
rsync -avz -e ssh /local/backup/dir/ remoteuser@remotehost:/remote/backup/
sshfsاجازه مونت یک پوشه رو از طریق ریموت با دسترسی read/write می دهد: local filesystem
sudo apt-get install sshfs
Mount folder/filesystem through SSH
دو تا پوشه از دو تا کامپیوتر رو بههم لینک می کنم:
sshfs name@server:/path/to/folder /path/to/mount/point
برای قطع لینک دو تا پوشه:
fusermount -u /path/to/mount/point
با sshfs برای دیدن ویدیوهام یا گوش دادن به آهنگ هام لازم نیست اول اون ها رو کپی و بعد play کنم:
mkdir /mnt/laptop_music
sshfs dorfa@Wonderland:/home/dorfa/Music/ /mnt/laptop_music/
cat /mnt/laptop_music/*.mp3 | cvlc -
Gvfs: به صورت محدودتر و از طریق Natilus کار می کنه.
scpفکر می کنم از ترکیب ssh و cp ساخته شده:
اگر مقصد فایل home/user2 باشد:
scp /home/user1/todo.txt user2@192.168.1.101:/home/user2/
در ویندوز باید از winscp استفاده کنم:
http://winscp.net/eng/download.phpکپی فایل todo.txt از روی کامپیوتر محلی به روی سرور server1.com
user@local-machine# scp ./todo.txt user1@server1.com:/home/user2
کپی از سرور 1 به 2
user@local-machine# ssh user1@server1.com
user1@server1# scp ./todo.txt user2@server2.com:/home/user2
user@server1# logout
کپی از سرور 2 به 1
user@local-machine# ssh user2@server2.com
user2@server2# ls
todo.txt otherfile.txt
user2@server2# scp ./otherfile.txt user1@server1.com:/home/user1
user2@server2# logout
به عنوان یک قاعده اگر خواستم چیزی با scp به remote server بفرستم، دستور رو بر روی Host باید این طور اجرا کنم:
scp todo.txt user@remoteHost:Documents/
Host:scp todo.txt user@remoteHost:Documents/newname.txt
اما اگر خواستم چیزی دانلود کنم:
scp user@remoteHost:Documents/todo.txt ~/Desktop
scp user@remoteHost:/any/other/dir/todo.txt .
sftpمناسب برای ترنسفر بین لینوکس-لینوکس و لینوکس-ویندوز که روی لینوکس نصب میشه و در ویندوز با filezilla میشود فایلهای روی لینوکس رو read و write کرد.
sftp://user@host:/path
FTPsudo apt-get install inetutils-ftpd
NFS https://help.ubuntu.com/community/SettingUpNFSHowToGriverhttp://appnr.com/package/giver
#giver on irc.gnome.org