Итак, я использую сервер 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': нет такого файла или каталога
Так может ли кто-нибудь объяснить, что здесь происходит, и помочь мне решить проблему, чтобы я мог безопасно сделать резервную копию своего сервера? :)