#linux #cron
#linux #cron
Вопрос:
Я был на краю Интернета и в линиях поддержки, пытаясь разобраться в этом, но безрезультатно:
Я пытаюсь настроить задание cron, чтобы мой облачный сайт RackSpace получал резервную копию. Есть много примеров для использования, но, похоже, я не могу заставить ни один из них работать, потому что он добавляет ‘ r’ в конец всех моих строк. Я пробовал пару редакторов, таких как notepad и notepad , но ничего не изменилось. Вот пример моего backup.sh:
#!/bin/sh
webroot='/mnt/example/123456/www.mysite.com/web/content/'
backuproot='/mnt/example/123456/www.mysite.com/backup'
###################
# Backup Database #
###################
mysqldump -h my.database.host -u my_username -p'my_password' my_database_name > $backuproot/db_backup.sql
###############
# Backup Site #
###############
tar -czpvf $backuproot/site_backup.tar.gz $webroot
Пример ошибок, которые я получаю:
tar: /mnt/example/123456/www.mysite.com/web/content/rr: Cannot stat: No such file or directory
tar: /mnt/example/123456/www.mysite.com/backupr/site_backup.tar.gz: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error exit delayed from previous errors
По какой-то причине скрипт рассматривает ‘ r’ как часть команды, и я не уверен, как этого избежать. Буду признателен за любую помощь.
Ответ №1:
По какой-либо конкретной причине это помечено как Perl?
В любом случае, я предполагаю, что вы редактируете в Windows, а затем пытаетесь выполнить на компьютере с Linux. Команда dos2unix
должна преобразовать окончания строк, чтобы у вас не возникло этой проблемы.
Комментарии:
1. Вы правы, я нахожусь в Windows и пытаюсь выполнить на компьютере с Linux. У меня нет доступа к запуску dos2unix на компьютере Linux, но спасибо за ответ и подсказку.
Ответ №2:
Существуют редакторы для Windows, которые могут обрабатывать окончания строк в стиле Linux, например EditPad.
Комментарии:
1. Сработало отлично, спасибо! Кроме того, попробовав EditPad и узнав, что искать, я обнаружил, что Notepad тоже поддерживает это (Правка> Обложка EOL).
2. Спасибо DM и MRAB. Как раз тогда использовал Notepad для устранения аналогичной проблемы, с которой я столкнулся. Могу подтвердить, что это решение.
Ответ №3:
Проблема в окончаниях строк в вашем файле.
В Windows строки в файле заканчиваются символами CR LF (rn). В unix возврат каретки не используется, поэтому они просто заканчиваются символом LF (n).
Вам нужно будет изменить тип окончания строки, который вы используете — с Notepad вы можете изменить формат файла через меню Редактирования (найдите что-то вроде формата Unix, окончаний строк Unix и т.д.).
Если вы хотите узнать ВСЕ о окончаниях строк, смотритеhttp://en.wikipedia.org/wiki/Newline.