我有这个代码,它创建了我的数据库的备份。
pg_dump -U dbadmin -h 127.0.0.1 123telcom -f dbbackup
现在我想每晚创建一个备份。 有没有办法可以用crontab执行这段代码?
0 3 * * * pg_dump -U dbadmin -h 127.0.0.1 123telcom -f dbbackup
我是腻子的新手,所以如果有人能帮助我一点点那么好。
答案 0 :(得分:0)
我怀疑你已经违反了cron的PATH设置
如果您查看/ etc / crontab,它将为自己定义一个PATH,您可能会为登录设置不同的PATH。
使用前两行创建脚本:
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
其中PATH包含您环境中设置的所有内容,并确保脚本可执行 要测试发生了什么,请尝试以下脚本:
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
echo $PATH >> /home/yourhome/cron.txt
在/ etc / crontab中创建一个条目:
* * * * * root /home/yourhome/yourshell.sh
通过使用sudo crontab -e告诉cron有关更改,然后只保存并退出(如果使用nano编辑器,通常是Ctrl O和Ctrl X)或者我认为你只需要kill
cron进程即可将重新产生
然后检查cron.txt文件以查看它用于PATH的内容
PS不要忘记之后从crontab中删除此脚本