Điểm:0

Thực hiện các bước sau khi rsync kết thúc

lá cờ id

Đầu tiên tôi nghĩ rằng rsync không đồng bộ hóa mọi thứ được mô tả ở đây Hạn chế của rsync? Không đồng bộ hóa mọi thứ

Bây giờ sau một ngày tôi phát hiện ra rằng nó thực sự vẫn đang hoạt động/đang chạy và bây giờ tất cả các tệp đều ở đó. Vấn đề là: Zip của tôi thay vì 1gb chỉ có 200mb.

Vì zip đã được tạo nên tôi nghĩ rsync là "đã hoàn thành" và không tải xuống mọi thứ. Logic của tôi là: tar chỉ được thực thi khi rsync đã hoàn thành. Nhưng có vẻ như đó không phải là trường hợp.

Làm thế nào tôi có thể thực hiện hắc ín đợi cho đến khi rsync kết thúc hoàn toàn? Vì vậy, tôi không kết thúc với kho lưu trữ chưa hoàn thành?

Đây là mã của tôi:

USER="myusername"
MÁY CHỦ="myserverip"
CẢNG = "22"
NGUỒN="cửa hàng"
TARGET="/volume1/BACKUPS/MyFolder/MySubfolder/data/"
LOG="/volume1/BACKUPS/MyFolder/MySubfolder/backup_data.log"

mkdir /volume1/BACKUPS/MyFolder/MySubfolder/

rsync -avz --progress -e "ssh -p $PORT" $USER@$SERVER:$SOURCE $TARGET --delete >> $LOG 2>&1
tar -zcvf /volume1/BACKUPS/MyFolder/archivename-$(date +%Y-%m-%d_%H_%M_%S).tar.gz -C /volume1/BACKUPS/MyFolder/MySubfolder/ .

Đây có thể là câu hỏi thứ hai, nhưng bằng cách nào đó liên quan đến "chỉ làm điều gì đó khi điều đầu tiên kết thúc".Làm cách nào tôi có thể phát hiện ra rằng kho lưu trữ cũng "đã hoàn thành"? Vì vậy, cuối cùng tôi không mở/giải nén một kho lưu trữ vẫn đang được xử lý? Một cái gì đó như đổi tên tệp sau khi lưu trữ thực sự kết thúc. Làm cách nào tôi có thể đảm bảo rằng việc đổi tên này không bắt đầu vào một lúc nào đó và đợi cho đến khi dòng trước đó thực sự sẵn sàng, như với rsync?

Điểm:0
lá cờ br

Tôi không hiểu tại sao điều này sẽ chạy không đồng bộ, miễn là không có ký hiệu và & trong tập lệnh gốc của bạn ở cuối dòng. Bạn đang chạy điều này như một công việc định kỳ? Nếu có, tần suất thực hiện có quá cao không?

Nhật ký từ rsync thực sự sẽ hữu ích ở đây, ít nhất là để xem liệu nó có thực sự hoàn thiện hay không. Bạn đã kiểm tra chúng?

Ngoài ra, có một số cách để làm cho các lần thực thi này được kiểm soát nhiều hơn, chẳng hạn như 'làm điều này nếu lần cuối thành công'. Đơn giản nhất sẽ là

rsync -abc --exwhyzed xxx && tar -abc xxx

lưu ý dấu và kép ở trên. Lệnh thứ hai sau đó chỉ được thực thi nếu lệnh đầu tiên hoàn thành thành công.

Một cách mô tả hơn sẽ là nếu các câu lệnh. Thích

nếu rsync -abc --exwhyzed xxx ; sau đó
    tar -abc xxx
fi

Ngoài ra, tại sao bạn sử dụng --phát triển tùy chọn kết hợp với cờ dài dòng? Khi chạy nun-interactively và đăng nhập vào một tệp, điều này có vẻ không hữu ích lắm đối với tôi. Đây chỉ là một lưu ý tò mò, tuy nhiên.

jona avatar
lá cờ id
Cảm ơn. Tôi sẽ xem xét này. Vâng, nó là một cronjob. Nhưng điều này đã xảy ra trong lần chạy đầu tiên và kể từ đó tôi không bắt đầu lại nó (hoặc cronjob). Nhật ký khá là spam vì tất cả các tỷ lệ phần trăm trạng thái. Nhưng không có gì trong nhật ký nói rằng nó đã kết thúc. Chỉ dành cho các tập tin duy nhất. Và không có gì về bất kỳ lỗi nào. `xxx` có nghĩa là gì? Hay đây là một trình giữ chỗ?
loopend avatar
lá cờ br
Vâng, đây chỉ là những phần giữ chỗ, giống như các tùy chọn giả. Đó chỉ là về cấu trúc.
jona avatar
lá cờ id
Đây là những dòng cuối cùng của nhật ký `0 100% 0,00kB/s 0:00:00 (tổng cộng: 58%) (xfer#47349, to-check=1004/85942) đã gửi 1165678 byte đã nhận 200646451 byte 2028262,60 byte/giây tổng kích thước là 792975206 tăng tốc là 3,93` Vì vậy, tổng số là 58% và hôm nay (không có thay đổi nào trong nhật ký hoặc tôi bắt đầu lại) nó đã hoàn thành (đã tải toàn bộ nội dung qua ftp và so sánh các tệp). Và vâng, `--progress` khá ngu ngốc, tôi sẽ xóa nó để làm cho nhật ký rõ ràng hơn và chạy một lần chạy ban đầu mới

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.