このチュートリアルによると http://www.a2hosting.com/kb/getting-started-guide/backing-up-your-data/backups-on-dedicated-servers-and-vps MySQLデータベースのバックアップ
やった:
1)home
ディレクトリにフォルダを作成しました。 /home/USERNAME/backup/
2)フォルダbackup
にbackup-cron-mysql.sh
という名前のファイルを作成しました
3)backup-cron-mysql.sh
のコンテンツを作成しました
#!/bin/bash
db_name=dabase_name
db_user=user
db_password=password
backup_filename=$db_name-`date +%F`
mysqldump -h localhost -u $db_user -p$db_password $db_name | gzip > /home/USERNAME/dbbackup/$backup_filename.sql.gz
Backup-cron-mysql.sh実行可能ファイルを作成(10月:0755)
4)フォルダーdbbackup
を作成しました。パス:/home/USERNAME/dbbackup/
5)ログインしてPuTTY.exe
を使用し、crontab –e
と入力して、Enterキーを押します。後で、cron構成ファイルがディレクトリ/var/spool/cron/
にあり、ファイル名がroot
であることがわかりました。
6)Notepad ++でroot
ファイルを開き、次のコードを貼り付けました
45 14 * * * /bin/sh /home/USERNAME/backup/backup-cron-mysql.sh
[email protected]
結果として、/home/USERNAME/dbbackup/
はいくつかのファイルを参照する必要があります。しかし、何も表示されません(空のフォルダー)。
Mysqlをバックアップするために何を修正する必要があるかアドバイスしてください
以下のファイルでcronログの出力を確認してください。/var/log/syslog
次のコマンドを使用してログをフィルタリングすることもできます。
grep CRON /var/log/syslog
Cronジョブでログを構成するには:
45 14 * * * /bin/sh /home/USERNAME/backup/backup-cron-mysql.sh 2>&1 >> /var/log/myjob.log
https://askubuntu.com/questions/56683/where-is-the-cron-crontab-log
いくつかの考え:
CentOSを使用しているため、Cronのログのデフォルトの場所は/var/log/cron
になります。そこには多くの情報はないかもしれませんが、少なくともCronデーモンがスクリプトを実行しようとしているのかどうかを教えてくれるはずです。
上記のZeeshanの出力リダイレクトは正常に機能する可能性がありますが、より簡単な表記は「すべての出力をファイルにリダイレクトする」を使用することです...例:.
45 14 * * * /bin/sh /home/USERNAME/backup/backup-cron-mysql.sh &> /some/file
Bashリダイレクト方法の概要は次のとおりです。
http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-3.html
Crontabファイルは、いくつかの点で細心の注意を払っています。 1つの方法は、ファイルの最後の行として空白行を必要とすることです。ファイルの最後に少なくとも1行の空行があることを確認することをお勧めします(数行があっても問題ないので、そこにカップルを入れて適切に測定できます)。
Cronで自動化する前に、バックアップスクリプトを手動で実行しましたか?スクリプト自体に問題がある場合、その上にCron自動化を追加すると、トラブルシューティングが難しくなるだけです。