Заставьте Струйку получить корректный $PATH

Я предлагаю, чтобы Вы использовали rsync вместо того, чтобы копировать Ваши файлы вручную. С этим инструментом можно сделать точно, что Вы делаете с некоторыми дополнительными функциями. Например, можно передать --progress аргумент для знания последнего скопированного файла.

Другая функция - то, что можно скопировать только новые файлы или измененные, которые уменьшат объем данных, переданный через сеть. Если Вы устанавливаете --delete аргумент, это удалит файлы, которые Вы удалили в своей исходной папке. Наконец, -z аргумент включает сжатие.

Команда имеет следующую структуру:

$ rsync options source destination

Пример

rsync --progress -azv -e ssh --delete /home/guandalino/ \
                myuser@myuser.server.com:/home/guandalino/backup/guandalino/

где

  • --progress дисплеи детализировали прогресс rsync выполнения
  • -z включает сжатие
  • -v подробные средства
  • -a указывает рекурсивный. Кроме того, это сохраняет полномочия, владельца, группа и т.д.
  • --delete удаляет файлы, которые не находятся там в исходном каталоге.

Смотрите на это примеры.

Запланированное резервное копирование

Эта часть дополнительна. Это - то, как я использую его для резервного копирования моей домашней папки к моему серверу автоматически. Я поместил вышеупомянутый пример в файл сценария оболочки и включил cron выполнять его каждый день, в 0:00.

00  00 *   *   *     /home/guandalino/backup_home_folder.sh 2>&1 >> /var/log/backup_home_folder.log

Я перенаправляю вывод сценария в файл для хранения журнала передачи. Необходимо будет генерировать открытый ключ с ssh-keygen -t rsa если у Вас еще нет того, таким образом, Вашему клиенту разрешат соединиться с сервером, не вводя Ваш пароль.

1
10.02.2014, 11:22
2 ответа

Согласно документу стандартов оболочки, расширение тильды, как предполагается, происходит, когда переменная оболочки присвоена, если тильда в начале слова или следует за неупомянутым двоеточием.

Таким образом, для необработанной тильды немного необычно закончиться посреди Вашего PATH переменная:

/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/local/sbin:/usr/local/bin:/usr/games:~/bin

Но это там, и оболочка не собирается разворачивать его, чтобы быть Вашим корневым каталогом, когда это просматривает PATH найти исполняемый файл.

Самая легкая фиксация должна измениться ~ кому: $HOME в любых init наборах файла PATH. Я предположил бы, там некоторые удваивают кавычки в том операторе, которые предотвращают ~ от того, чтобы быть расширенным.

1
27.01.2020, 23:38

Изменение ~/bin кому: $HOME/bin файл, который устанавливает $PATH.

Вероятно, Ваш ~/.bashrc или ~/.profile

1
27.01.2020, 23:38

Теги

Похожие вопросы