Рейтинг:0

Я пытаюсь создать простой сценарий оболочки для резервного копирования файлов на той же машине, но я продолжаю сталкиваться с ошибками, которые не знаю, как решить

флаг us

Итак, я использую сервер Ubuntu 18.04 для своего малого бизнеса, и у меня есть очень минимальные знания, кроме базовой безопасности и запуска того, что мне нужно для запуска. Так что извините, если это действительно глупый вопрос.

Я хочу настроить простой сценарий резервного копирования, который создает резервные копии файлов и сохраняет их в другом каталоге на том же компьютере.

Для этого я последовал этому примеру Ubuntu: https://ubuntu.com/server/docs/backups-shell-скрипты

Я создал соответствующие каталоги и обновил скрипт следующим образом:

#!/бин/баш
######################################
#
# Резервное копирование в сценарий монтирования NFS.
#
######################################

# Что резервировать. 
backup_files="/home/server/testserver/logs"

# Куда делать резервную копию.
dest="/дом/сервер/резервные копии"

# Создать архив с именем файла.
день=$(дата +%А)
имя хоста=$(имя хоста -s)
archive_file="$hostname-$day.tgz"

# Сообщение о начале печати.
echo "Резервное копирование $backup_files в $dest/$archive_file"
датировать
эхо

# Сделайте резервную копию файлов с помощью tar.
tar czf $dest/$archive_file $backup_files

# Распечатать сообщение о завершении.
эхо
эхо "Резервное копирование завершено"
датировать

# Длинный список файлов в $dest для проверки размеров файлов.
ls -lh $назначение

Я сохранил bash внутри «/home/server/backups», а затем попытался запустить его на некоторых тестовых журналах. Однако я получаю эту ошибку:

-bash: ./backup.sh: /bin/bash^M: плохой интерпретатор: нет такого файла или каталога

Я исследовал это в Интернете и попытался запустить файл как «bash backup.sh» и полностью удалить строку «#!/bin/bash», оба результата привели к следующему:

backup.sh: строка 7: $'\r': команда не найдена
backup.sh: строка 10: $'\r': команда не найдена
backup.sh: строка 13: $'\r': команда не найдена
backup.sh: строка 18: $'\r': команда не найдена
.tgzday2427server/backupstestserver/журналы
backup.sh: строка 21: $'date\r': команда не найдена
backup.sh: строка 22: $'echo\r': команда не найдена
backup.sh: строка 23: $'\r': команда не найдена
tar: Удаление ведущего `/' из имен элементов
tar: /home/server/testserver/logs\r\r: Невозможно stat: Нет такого файла или каталога
tar (дочерний): /home/server/backups\r/ns31202427\r-Friday\r.tgz\r: не удается открыть: нет такого файла или каталога
tar (дочерний): ошибка неустранима: выход сейчас
tar: дочерний элемент вернул статус 2
tar: ошибка неустранима: выход сейчас
backup.sh: строка 26: $'\r': команда не найдена
backup.sh: строка 28: $'echo\r': команда не найдена
Резервное копирование завершено
backup.sh: строка 30: $'date\r': команда не найдена
backup.sh: строка 31: $'\r': команда не найдена
ls: невозможно получить доступ к '/home/server/backups'$'\r': нет такого файла или каталога

Так может ли кто-нибудь объяснить, что здесь происходит, и помочь мне решить проблему, чтобы я мог безопасно сделать резервную копию своего сервера? :)

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.