我可以运行命令像vacuumdb、pg_dump psql在脚本中很好如果我前言他们一样:
/usr/bin/sudo -u postgres /usr/bin/pg_dump -Fc mydatabase > /opt/postgresql/prevac.gz
/usr/bin/sudo -u postgres /usr/bin/vacuumdb --analyze mydatabase
/usr/bin/sudo -u postgres /usr/bin/pg_dump -Fc mydatabase > /opt/postgresql/postvac.gz
SCHEMA_BACKUP="/opt/postgresql/$(date +%w).db.schema"
sudo -u postgres /usr/bin/pg_dump -C -s mydatabase > $SCHEMA_BACKUP
这些在命令行运行sudo Redhat时我是根,然后你可以看到在上面的命令中我做了sudo - u postgres。
但当我试着踢这个从cron,我得到零字节文件——这意味着它没有正常运行。我不知道日志中我可以看到。
我的/etc/crontab文件底部这个条目
00 23 * * * root /etc/db_backup.cron
是的,/etc/db_backup.cron是ug chmod + x,由根,顶部的文件说:“# !/bin/bash”(减去doublequotes)。
谁知道到底发生了什么事?