在Ubuntu系统中,你可以使用cron
来实现SFTP自动化任务调度。以下是具体步骤:
首先,确保你的系统上已经安装了openssh-client
和cron
。
sudo apt update
sudo apt install openssh-client cron
创建一个脚本文件,用于执行SFTP任务。例如,创建一个名为sftp_script.sh
的文件:
nano ~/sftp_script.sh
在文件中添加以下内容:
#!/bin/bash
# SFTP服务器信息
HOST='your_sftp_server'
PORT='22'
USERNAME='your_username'
PASSWORD='your_password'
# 远程目录
REMOTE_DIR='/path/to/remote/directory'
# 本地目录
LOCAL_DIR='/path/to/local/directory'
# 使用sftp命令进行文件传输
sftp -oPort=$PORT $USERNAME@$HOST <<EOF
cd $REMOTE_DIR
put $LOCAL_DIR/*
bye
EOF
保存并关闭文件,然后赋予脚本执行权限:
chmod +x ~/sftp_script.sh
打开当前用户的crontab文件:
crontab -e
在打开的编辑器中添加一行,指定任务的执行时间和脚本路径。例如,每天凌晨2点执行SFTP任务:
0 2 * * * /home/your_username/sftp_script.sh >> /home/your_username/sftp_log.log 2>&1
保存并关闭编辑器。这样,cron就会按照指定的时间自动执行SFTP脚本。
你可以查看cron任务的执行日志,以确保任务按预期运行:
tail -f /home/your_username/sftp_log.log
通过以上步骤,你就可以在Ubuntu系统中实现SFTP自动化任务调度。