मैं वैक्यूमडब, pg_dump, और psql जैसे आदेशों को चला सकता हूं, अगर मैं उन्हें ऐसा पेश करता हूं तो xpx25 मैं क्रॉन के साथ अपने PostgreSQL डेटाबेस बैकअप कैसे करूं?
/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
रेडहाट पर कमांड लाइन पर चलाता है जब मैं रूट के लिए सूडो हूं और फिर जैसा कि आप देखते हैं उपरोक्त आदेश मैं पोस्टग्रेस के लिए एक सूडो -u करते हैं।
लेकिन जब मैं इसे क्रॉन से बाहर निकालने का प्रयास करता हूं, मुझे सभी फ़ाइलों में शून्य बाइट मिलता है - जिसका अर्थ है कि यह ठीक से नहीं चला। और मुझे लॉग में एक सुराग नहीं मिलता है जिसे मैं देख सकता हूं।
मेरी/etc/crontab फ़ाइल में यह प्रविष्टि नीचे
00 23 * * * root /etc/db_backup.cron
है और हां, /etc/db_backup.cron chmod ug + x है, जो रूट के स्वामित्व में है, और फ़ाइल के शीर्ष में " #!/बिन/बैश "(शून्य से दोहराव)।
कोई भी जानता है कि क्या देता है?
कम से कम redhat पर,% प्रतीकों से बचने की जरूरत है। इससे बचने के परिणामस्वरूप क्रॉन आपके आदेश को केवल% तक निष्पादित करने का प्रयास करेगा। देखें - http://fahdshariff.blogspot.com/2009/05/percent-sign-in-crontab.html – chrismarx