⑴ 想將ubuntu下某個文件夾下的文件定時上傳至FTP或者共享文件夾,也可以直接傳至另一台linux上使用。
寫的一個簡單腳本.
linux1 = A (不定時生成文件)
linux2 = B (需隔一天後使用文件)
B 主機必須提供FTP服務,建立相應的FTP用戶,具備相應的上傳許可權和容量等.
/home/backup :文件備份臨時目錄
/home/bak :本地文件備份目錄
注意:如果伺服器語言為英文,請將腳本內中文注釋改為英文或刪除.
A 主機
-----------------------------------------------------------------------
mkdir /home/backup
mkdir /home/bak
vi /home/backup.sh
vi /etc/crontab
30 2 * * * root /home/backup.sh
#建立目錄,設置每天2:30定時執行備份腳本
backup.sh內容
#!/bin/bash
#
# 說明:
# 自動備份本機文件到遠程FTP
#
PATH=/bin:/usr/bin:/sbin:/usr/sbin
LANG=C
LC_ALL=C
# 設置A路徑
date='date +%Y-%m-%d'
bakdir=/home/backup
home=/home
# A主機 "/etc/目錄下的文件"
cp -a /etc/* $bakdir
# 延遲20S,等文件拷貝結束
sleep 20s
sync;sync
# 在本機壓縮與打包
cd $bakdir
tar -zcf "$date".tar.gz *
sleep 20s
sync;sync
# 備份到B主機
id="username"
pw="yourpassword"
cd= $bakdir
# 利用FTP備份到192.168.1.200
ftp -n 192.168.1.200 > $home/ftp.log 2>&1 <<EOC
user $id $pw
binary
cd $bakdir
put "$date".tar.gz
bye EOC
sync;sync
# 移動到本機備份
mv $bakdir/"$date".tar.gz $bakdir/bak
sleep 20s
sync;sync
⑵ linux ftp 530錯誤怎麼回事
首先,如果正在使用vsftpd,可以先把其停掉,命令:service vsftpd stop,接下來需要編輯/etc/xinetd.d/下的gssftp配置文件,文件內容如下:
# default: off
# description: The kerberized FTP server accepts FTP connections
# that can be authenticated with Kerberos 5.
service ftp
{
disable = yes
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/kerberos/sbin/ftpd
server_args = -l -a
log_on_failure += USERID
}
在文件中,我們要修改的內容有:
1、disable = yes 改為 disable =no ,系統默認ftp功能是無效的,修改使ftp功能生效。
2、server_args = -l -a 改為 server_args = -l。
without -a means : *enable weak authentication*
其中表示使用Kerberos 5驗證機制,而一般的ftp是不支持該驗證機制的。
修改完畢後,將其保存。
3、重啟啟動xinetd服務。請執行一下的命令(/etc/xinetd.d/):
service xinetd restart
service vsftpd restart