็†ฑ้–€ๅˆ†้กž
 ่ผ‰ๅ…ฅไธญ…
็›ฎ้Œ„

๐Ÿ’พ Linux rsync ๅ‚™ไปฝๅŒๆญฅๅฏฆๆˆฐ:่‡ชๅ‹•ๅŒ–้ ็ซฏ่ˆ‡ๆœฌๆฉŸๅ‚™ไปฝ

    ๐Ÿ’พ Linux rsync ๅ‚™ไปฝๅŒๆญฅๅฏฆๆˆฐ:่‡ชๅ‹•ๅŒ–้ ็ซฏ่ˆ‡ๆœฌๆฉŸๅ‚™ไปฝ

    ๅœจไผๆฅญ่ˆ‡ๅ€‹ไบบไผบๆœๅ™จ็’ฐๅขƒไธญ,่ณ‡ๆ–™ๅ‚™ไปฝ ๆ˜ฏ็ขบไฟ็‡Ÿ้‹ไธไธญๆ–ท็š„้—œ้ต。rsync ๆ˜ฏ Linux ไธŠๆœ€้ˆๆดป、็ฉฉๅฎšไธ”้ซ˜ๆ•ˆ็š„ๆช”ๆกˆๅŒๆญฅๅทฅๅ…ทไน‹ไธ€,ๅฏ็”จๆ–ผ ๆœฌๆฉŸๅ‚™ไปฝ้ ็ซฏๅŒๆญฅๅขž้‡่ค‡่ฃฝ ่ˆ‡ ่‡ชๅ‹•ๅŒ–ๆŽ’็จ‹。ๆœฌๆ–‡ๅฐ‡ๅฎŒๆ•ด็คบ็ฏ„ๅพžๅŸบ็คŽ่ชžๆณ•ๅˆฐ่‡ชๅ‹•ๅŒ–ๆŽ’็จ‹็š„ๅฏฆๆˆฐๆ‡‰็”จ。

    ๐Ÿ“‘ ไธ€、rsync ็š„ๆ ธๅฟƒๆฆ‚ๅฟต

    • ๅทฎ็•ฐๅŒๆญฅ(Delta Transfer):ๅƒ…ๅ‚ณ่ผธ่ฎŠๆ›ด้ƒจๅˆ†,็ฏ€็œ้ ปๅฏฌ。
    • ๆ”ฏๆด SSH:ๅฎ‰ๅ…จๅ‚ณ่ผธ่ณ‡ๆ–™,็„ก้ ˆ้กๅค–้–‹ๆ”พ FTP。
    • ๅฏๆŽ’็จ‹ๅŒ–:ๆญ้… cron ๆˆ– systemd timer ่‡ชๅ‹•ๅŸท่กŒ。
    # ๅฎ‰่ฃ rsync
    sudo apt install rsync -y        # Debian / Ubuntu
    sudo yum install rsync -y        # CentOS / RHEL
    
    # ๅŸบๆœฌ่ชžๆณ•
    rsync -avh /source/ /backup/
    
    # ้ ็ซฏๅŒๆญฅ(้€้Ž SSH)
    rsync -avz -e "ssh -p 22" /home/user/ user@192.168.1.10:/backup/
    

    ๐Ÿ“ฆ ไบŒ、ๆœฌๆฉŸๅ‚™ไปฝ็ฏ„ไพ‹:ๆฏๆ—ฅ่‡ชๅ‹•ๅŒๆญฅ

    ๅ‡่จญไฝ ่ฆๆฏๅคฉๅ‚™ไปฝ /var/www/ ็ถฒ็ซ™่ณ‡ๆ–™่‡ณ /mnt/backup/,ๅฏ็ทจๅฏซๅฆ‚ไธ‹่…ณๆœฌ:

    # /usr/local/bin/backup_web.sh
    #!/bin/bash
    rsync -avh --delete /var/www/ /mnt/backup/www/
    echo "$(date '+%F %T') - Backup completed." >> /var/log/rsync-backup.log
    

    ่จญๅฎš็‚บๆฏๅคฉๅ‡Œๆ™จๅŸท่กŒ:

    # ไฝฟ็”จ cron
    sudo crontab -e
    0 2 * * * /usr/local/bin/backup_web.sh
    
    # ๆˆ–ไฝฟ็”จ systemd timer(ๆ›ด็ฉฉๅฎš)
    sudo systemctl edit --force --full backup.service
    sudo systemctl edit --force --full backup.timer
    

    ๐ŸŒ ไธ‰、้ ็ซฏๅŒๆญฅ:่ทจไผบๆœๅ™จๅขž้‡ๅ‚™ไปฝ

    rsync ๅฏ็ตๅˆ SSH ้‡‘้‘ฐๅ…ๅฏ†็™ปๅ…ฅ,ๅฎ‰ๅ…จๅŒๆญฅๅˆฐ้ ็ซฏๆฉŸๆˆฟๆˆ–้›ฒ็ซฏๅ‚™ๆดไธปๆฉŸ。

    # ๅปบ็ซ‹้‡‘้‘ฐ่ˆ‡ๅˆ†็™ผ
    ssh-keygen -t rsa
    ssh-copy-id user@backup-server
    
    # ๅŒๆญฅๅ‘ฝไปค
    rsync -avz --progress /data/ user@backup-server:/data_backup/
    

    ๐Ÿงญ ่กŒๅ‹•ๆธ…ๅ–ฎ

    ✅ ๅปบ็ซ‹ rsync ๅ‚™ไปฝ่…ณๆœฌไธฆๆธฌ่ฉฆๅŒๆญฅ  
    ✅ ่จญๅฎš cron ๆˆ– systemd timer ่‡ชๅ‹•ๅŒ–ๆŽ’็จ‹  
    ✅ ไฝฟ็”จ SSH ้‡‘้‘ฐๆๅ‡ๅฎ‰ๅ…จๆ€ง  
    ✅ ้ฉ—่ญ‰ log ่จ˜้Œ„่ˆ‡ๅŒๆญฅ็ตๆžœ  
      

    ๐Ÿ›ก️ ๅ››、ๆœ€ไฝณๅŒ–่ˆ‡ๅธธ่ฆ‹้Œฏ่ชค

    • --delete:ๅˆช้™ค็›ฎๆจ™็ซฏไธๅญ˜ๅœจ็š„ๆช”ๆกˆ(็ถญๆŒไธ€่‡ดๆ€ง)。
    • --exclude:ๆŽ’้™คๆšซๅญ˜ๆˆ–ๅฟซๅ–็›ฎ้Œ„(ๅฆ‚ --exclude "cache/")。
    • Permission denied → ๆชขๆŸฅ SSH ้‡‘้‘ฐ่ˆ‡็›ฎ้Œ„ๆฌŠ้™。
    • No space left on device → ๅŠ ๅ…ฅ --max-size ้™ๅˆถๆช”ๆกˆๅคงๅฐ。

    ๐Ÿ“˜ ็ต่ชž

    rsync ๆ˜ฏ Linux ็ณป็ตฑ็ถญ้‹ไธญไธๅฏๆˆ–็ผบ็š„ๅทฅๅ…ท,่ƒฝๅœจไธๅฝฑ้Ÿฟๆœๅ‹™็š„ๆƒ…ๆณไธ‹ๅฟซ้€ŸๅŒๆญฅ่ณ‡ๆ–™。ๆญ้… systemd ๆˆ– cron ่‡ชๅ‹•ๅŒ–ๆŽ’็จ‹,ๅฏๅคงๅน…้™ไฝŽไบบๅทฅ็ถญ่ญท่ฒ ๆ“”,็ขบไฟ่ณ‡ๆ–™ๅฎ‰ๅ…จ็„ก่™ž。


    ๐Ÿ”— ๅปถไผธ้–ฑ่ฎ€

    — WWFandy・ไธป้กŒ็ญ†่จ˜

    ๐Ÿ”— ๅˆ†ไบซ้€™็ฏ‡ LINE Facebook X

    ๆฒ’ๆœ‰็•™่จ€:

    ๅผต่ฒผ็•™่จ€

    ๅญ—็ดš