要為網站備份數據,您有很多解決方案,例如使用FTP(FileZilla,WinSCP…),文件管理器,Linux的crontab,Cpanel的備份嚮導,Webmin……但是要節省時間,您應該使用crontab和將數據移至安全位置。
備份源代碼網站
首先,您必須確定源代碼網站的位置。在此示例中,我將把源代碼網站保存在/ var / www / public_html。之後,您可以使用以下命令按日期將源代碼壓縮到/ home / backup文件夾。
1個 | tar -zcvpf /home/backup/myweb- 'date +%Y%m%d' . tar .gz /var/www/public_html |
z:使用“ gzip”壓縮備份文件以使其較小。
c:創建新的備份存檔
v:詳細列出要處理的文件
p:保留放入存檔中的文件的權限,以便以後還原。
f:以下是存檔文件名
網站備份數據庫
要備份網站的數據庫,可以使用以下命令:
1個 | mysqldump -u root -p123456 mydatabase| gzip > /var/www/home/backup/db/db- ` date +%Y%m%d`.sql.gz |
- mysqldump:用於在Linux上備份MySQL的命令
- -u root -p123456:MySQL的管理員帳戶
- mydatabase:數據庫名稱將被備份。
- | :管道命令符號。
- gzip>:壓縮擴展名為sql.gz的文件,新文件將等於原始文件的1/5。
- / var / www / home / backup / db /:位置將保存備份文件。
- db-date +%Y%m%d.sql.gz:帶有文件後綴的備份文件名是備份時間,例如:db-20160430.sql
自動運行備份
要自動運行備份命令,可以使用crontab命令。 Crontab (cron作業)或cron時間表是一組特定的執行指令,用於指定要執行的日期,時間和命令。crontab可以具有多個執行語句。
使用crontab的常用命令:
crontab -e 編輯crontab文件,或者創建一個(如果尚不存在的話)。
crontab -l crontabs的crontab列表,顯示crontab文件的內容。
crontab -r 刪除您的crontab文件。
crontab -v 顯示上次編輯crontab文件的時間。(此選項僅在少數係統上可用。)
下圖將清楚地說明有關crontab命令的信息
星號
通常,您會看到一個星號(*)而不是數字。這代表該職位的所有可能數字。例如,分鐘位置的星號會使它每分鐘運行一次。
例:
01 * * * * root echo“此命令每隔一小時運行一次” 17 8 * * * root echo“該命令每天早上8:17運行” 17 20 * * * root echo“此命令每天晚上8:17運行” 00 4 * * 0 root echo“此命令在每個星期日的凌晨4點運行” * 4 * * Sun root echo“這也是” 42 4 1 * * root echo“此命令在每月的1號上午4:42運行。” 01 * 19 07 * root echo“此命令在7月19日每小時運行一次”
一些流行的cronjobs:
@reboot
:重啟後運行@yearly
:每年運行(0 0 1 1 *)@monthly
:每月運行)0 0 1 * *)@weekly
:每週運行(0 0 * * 0)@daily
:每天運行(0 0 * * *)@midnight
:每天午夜運行@hourly
:每小時運行(0 * * * *)
自動備份源代碼
在Ubuntu中,鍵入crontab -e並輸入crontab。
在crontab下,每天凌晨3點將自動備份源代碼。
1個 | 0 3 * * * tar -czf /home/backup/source- ` date +\%Y\%m\%d-\%H\%M\%S`. tar .gz /var/www/mysite/public_html |
crontab下面將在凌晨3點自動備份MySQL。
1個 | 0 3 * * * mysqldump -u root -p123456 mydb | gzip > /home/backup/db/db- ` date +\%Y\%m\%d`.sql.gz |