我嘗試了很多用於數據庫備份的腳本,但是我無法做到。我想每小時備份我的數據庫。
我將文件添加到「/etc/cron.hourly/」文件夾中,將其chmod更改爲755,但未運行。 至少我寫我的僞代碼。用於數據庫備份的Linux shell腳本
如果您可以爲此操作編寫腳本並告訴我該怎麼做,我會很高興? 將此腳本文件添加到/etc/cron.hourly/
文件夾後。
- 獲取當前日期和創建一個變量,
date=date(d_m_y_H_M_S)
- 創建文件名的變量,
filename="$date".gz
- 把我的數據庫這樣的
mysqldump --user=my_user --password=my_pass --default-character-set=utf8 my_database | gzip > "/var/www/vhosts/system/example.com/httpdocs/backups/$("filename")
- 轉儲刪除文件夾
/var/www/vhosts/system/example.com/httpdocs/backups/
中的所有文件大於8天 - 對於文件
"/var/www/vhosts/system/example.com/httpdocs/backup_log.txt"
,本文將寫爲:Backup is created at $("date")
- Cha將文件所有者(chown)從根目錄更改爲「my_user」。因爲我想從「my_user」FTP帳戶打開備份和日誌文件。
- 我不想在每個cron後發一封電子郵件。將添加
>/dev/null 2>&1
。
不錯 - 但對於新手,您需要明確創建日誌文件(因爲您不能追加到不存在的文件)或檢查並創建日誌文件 – fezfox
輪換就像這樣,每日備份的次數是多少保持? – alimack
安全警告:使用--password參數可以通過查看/ proc中的進程命令行來發現您的密碼。不要在多用戶系統上使用,除非您已應用各種內核安全修補程序來阻止用戶查看其他用戶的進程信息。 – Perkins