我正在尝试运行一个cron作业来每天备份我的SQL数据库。这是我正在使用的代码。
/usr/local/mysql/bin/mysqldump -uroot -ppassword --opt database > /path/to/directory/filename.sql
然而,它返回我的错误如下:
/ bin / bash:-c:第0行:在寻找匹配的'''时出现意外的EOF
/ bin / bash:-c:第1行:语法错误:意外的文件结尾
想知道解决方案是什么......
答案 0 :(得分:0)
如果您需要将cron与复杂的shell命令一起使用,例如使用特殊字符,则应将它们放在外部脚本中,并且只调用crontab中的脚本。 这样,您也可以手动运行它进行测试。
示例:
$uploads = wp_upload_dir();
$file = $uploads['basedir']."/maintainme/backups/files/backup_".$filename.'/'.$filename.'.zip';
$ch = curl_init();
$url = 'https://content.dropboxapi.com/2/files/upload_session/start';
$headers = array(
'Authorization: Bearer ' .$dropbox_token,
'Dropbox-API-Arg: {\"close\": false}',
'Content-Type: application/octet-stream',
);
$fields = array('file' => '@' . $file);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields );
curl_setopt($ch, CURLOPT_VERBOSE, 1);
$result = curl_exec($ch);
curl_close($ch);
#!/bin/sh
chmod a+x /usr/local/sbin/my_backup_script.sh
添加到crontab 0 4 * * * root /usr/local/sbin/my_backup_script.sh
)(您可以使用“mm hh”形式将0 4 * * * /usr/local/sbin/my_backup_script.sh
替换为您希望它运行的时间