Этот код работает в фоновом режиме и отлично работает на локальном хосте. Он успешно загрузил файл резервной копии на сервер Amazon S3, но когда этот код развернут на сервере ec2 amazon, выдает эту ошибку.
Ошибка приСервер: Ошибка при создании резервной копии БД - [Errno 2] Нет такого файла или каталога: 'db_backups / automate_uat_new_27092018_07.backup.sql' в 2018-09-27 07: 50: 00.100217
Код:
try:
os.putenv('PGPASSWORD', PASS)
filename = 'automate_uat_new_{0}.backup.sql'.format(datetime.now().strftime("%d%m%Y_%H"))
zip_filename = filename + '.gz'
ZIP_BACKUP_PATH ='db_backups/{0}.gz'.format(filename)
FILE_BACKUP_PATH = 'db_backups/{0}'.format(filename)
ps = subprocess.Popen(
['pg_dump', '-h', DB_HOST, '-U', DB_USER, '-d', DB_NAME, '-f', FILE_BACKUP_PATH],
stdout=subprocess.PIPE
)
output = ps.communicate()[0]
import gzip
import shutil
with open(FILE_BACKUP_PATH, 'rb') as f_in, gzip.open(ZIP_BACKUP_PATH, 'wb') as f_out:
shutil.copyfileobj(f_in, f_out)
print('DB backup sql file has been completed at {0}'.format(datetime.utcnow()))
ZIP_BACKUP_PATH = 'db_backups/{0}.gz'.format(filename)
if (os.path.exists(ZIP_BACKUP_PATH)):
upload_to_s3(ZIP_BACKUP_PATH, zip_filename)
else:
print('DB backup sql file not found to upload on s3 at {0}'.format(datetime.utcnow()))
except Exception as ex:
print('Error while creating DB backup - {0} at {1}'.format(ex, datetime.utcnow()))