Я предлагаю, чтобы Вы использовали 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
если у Вас еще нет того, таким образом, Вашему клиенту разрешат соединиться с сервером, не вводя Ваш пароль.
Согласно документу стандартов оболочки, расширение тильды, как предполагается, происходит, когда переменная оболочки присвоена, если тильда в начале слова или следует за неупомянутым двоеточием.
Таким образом, для необработанной тильды немного необычно закончиться посреди Вашего PATH
переменная:
/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/local/sbin:/usr/local/bin:/usr/games:~/bin
Но это там, и оболочка не собирается разворачивать его, чтобы быть Вашим корневым каталогом, когда это просматривает PATH
найти исполняемый файл.
Самая легкая фиксация должна измениться ~
кому: $HOME
в любых init наборах файла PATH
. Я предположил бы, там некоторые удваивают кавычки в том операторе, которые предотвращают ~
от того, чтобы быть расширенным.
Изменение ~/bin
кому: $HOME/bin
файл, который устанавливает $PATH.
Вероятно, Ваш ~/.bashrc или ~/.profile