Я пытаюсь создать cronjob для резервного копирования, моя база данных каждую ночь перед чем-то катастрофическим происходит. Похоже, что эта команда должна удовлетворить мои потребности:
0 3 * * * pg_dump dbname | gzip > ~/backup/db/$(date +%Y-%m-%d).psql.gz
Кроме после выполнения этого, это ожидает, что я введу в пароле. Я не могу сделать этого, если я выполняю его от крона. Как я могу передать один в автоматически?
Создайте файл .pgpass
в домашний каталог учетной записи, под которой будет работать pg_dump
. См. Документацию Postgresql libpq-pgpass для получения подробной информации о формате (включая последний абзац, где объясняется, что он будет проигнорирован, если вы не установите режим на 0600
).