Показать статистику
0 голосов
от (1.2тыс. баллов)

Есть скрипт для бекапов, в котором вызывается такая строка: 

rsync -ravv user@server:/home/user/sites/main_site/backup/*.zip /space/backup/main_site/

Запись в crontab:

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
LC_ALL=en_US.UTF-8
LANG=en_US.UTF-8
*       20      *       *       1-5     python /root/scripts/backup/backup.py -S -F main_site

Каждый раз когда этот скрипт вызывается из crontab, вылазит ошибка: 

rsync: mkstemp "/space/backup/main_site/.main_site_2019_01_29_132442250748_a82abb7e57188c2afedb2i00c022f935c470b9e1_backup.zip.I3kVYl" failed: No such file or directory (2)

 Причем если я запускаю вручную тот же скрипт, никаких проблем не наблюдается. 

Есть идеи как это лечится? Система - Ubuntu 14.04.4

245 просмотров 1 ответов

1 Ответ

0 голосов
от (4.6тыс. баллов)

У меня была похожая ошибка, только я пытался синхиронизировать данные не через rsync, а по FTP используя curlftpfs. Я полагаю что каталог /space/backup так же смонтирован и на удаленном сервере?

Вот решение, которое помогло мне:

  1. Создать временный каталог (temp)
  2. Сказать rsync какой временный каталог использовать (он не должен находится на удаленной стороне, т.е. там же куда синхронизируются данные)
Попробуйте изменить вашу строку запуска на такую: 
rsync -T "my_temp_folder_other_than_space/backup" -ravv user@server:/home/user/sites/main_site/backup/*.zip /space/backup/main_site/

 

...