Ok, vì vậy tôi sử dụng máy chủ Ubuntu 18.04 cho doanh nghiệp nhỏ của mình và tôi có kiến thức rất tối thiểu ngoài bảo mật cơ bản và chạy những gì tôi cần để chạy. Vì vậy, xin lỗi nếu đây là một vấn đề thực sự ngớ ngẩn.
Tôi muốn thiết lập một tập lệnh sao lưu đơn giản để sao lưu các tệp và lưu trữ chúng trong một thư mục khác trên cùng một máy.
Để làm điều này, tôi đã làm theo ví dụ này của Ubuntu: https://ubuntu.com/server/docs/backups-shell-scripts
Tôi đã tạo các thư mục có liên quan và cập nhật tập lệnh này:
#!/bin/bash
###################################
#
# Sao lưu tập lệnh gắn kết NFS.
#
###################################
# Những gì để sao lưu.
backup_files="/home/server/testserver/logs"
# Sao lưu vào đâu.
dest="/home/server/backups"
# Tạo tên tệp lưu trữ.
ngày=$(ngày +%A)
tên máy chủ = $ (tên máy chủ -s)
archive_file="$hostname-$day.tgz"
# In thông báo trạng thái bắt đầu.
echo "Đang sao lưu $backup_files vào $dest/$archive_file"
ngày tháng
tiếng vang
# Sao lưu các tệp bằng tar.
tar czf $dest/$archive_file $backup_files
# In thông báo trạng thái kết thúc.
tiếng vang
echo "Sao lưu xong"
ngày tháng
# Danh sách dài các tệp trong $dest để kiểm tra kích thước tệp.
ls -lh $dest
Tôi đã lưu bash bên trong "/home/server/backups" và sau đó thử chạy nó trên một số nhật ký kiểm tra. Tuy nhiên, tôi nhận được lỗi này:
-bash: ./backup.sh: /bin/bash^M: thông dịch viên kém: Không có tệp hoặc thư mục như vậy
Tôi đã nghiên cứu điều này trực tuyến và thử chạy tệp dưới dạng "bash backup.sh" và xóa hoàn toàn dòng "#!/bin/bash", cả hai đều dẫn đến kết quả như sau:
backup.sh: dòng 7: $'\r': không tìm thấy lệnh
backup.sh: dòng 10: $'\r': không tìm thấy lệnh
backup.sh: dòng 13: $'\r': không tìm thấy lệnh
backup.sh: dòng 18: $'\r': không tìm thấy lệnh
.tgzday2427erver/backupstestserver/logs
backup.sh: dòng 21: $'date\r': không tìm thấy lệnh
backup.sh: dòng 22: $'echo\r': không tìm thấy lệnh
backup.sh: dòng 23: $'\r': không tìm thấy lệnh
tar: Xóa `/' đứng đầu khỏi tên thành viên
tar: /home/server/testserver/logs\r\r: Không thể thống kê: Không có tệp hoặc thư mục như vậy
tar (con): /home/server/backups\r/ns31202427\r-Friday\r.tgz\r: Không thể mở: Không có tệp hoặc thư mục như vậy
tar (con): Lỗi không thể phục hồi: thoát ngay bây giờ
tar: Trạng thái con được trả về 2
tar: Lỗi không thể phục hồi: đang thoát
backup.sh: dòng 26: $'\r': không tìm thấy lệnh
backup.sh: dòng 28: $'echo\r': không tìm thấy lệnh
Sao lưu xong
backup.sh: dòng 30: $'date\r': không tìm thấy lệnh
backup.sh: dòng 31: $'\r': không tìm thấy lệnh
ls: không thể truy cập '/home/server/backups'$'\r': Không có tệp hoặc thư mục như vậy
Vì vậy, bất cứ ai có thể giải thích những gì đang xảy ra ở đây và giúp tôi giải quyết vấn đề để tôi có thể sao lưu máy chủ của mình một cách an toàn không? :)