在Ubuntu系统中,你可以使用cron来设置定时任务。如果你想要定时执行SFTP任务,你可以编写一个shell脚本来自动执行SFTP命令,然后使用cron来定时运行这个脚本。
以下是设置定时SFTP任务的步骤:
打开终端。
使用文本编辑器(如nano或vim)创建一个shell脚本。例如,创建一个名为sftp_transfer.sh的脚本:
nano /path/to/sftp_transfer.sh
#!/bin/bash
# SFTP服务器信息
HOST='your_sftp_server.com'
USER='your_username'
PASSWORD='your_password'
REMOTE_DIR='/remote/directory/path'
LOCAL_DIR='/local/directory/path'
# 使用sftp命令连接到服务器并上传文件
sftp -o StrictHostKeyChecking=no $USER@$HOST <<EOF
cd $REMOTE_DIR
put $LOCAL_DIR/*
bye
EOF
请确保替换your_sftp_server.com、your_username、your_password、/remote/directory/path和/local/directory/path为实际的SFTP服务器信息和目录路径。
保存并关闭脚本文件。
赋予脚本执行权限:
chmod +x /path/to/sftp_transfer.sh
cron表来设置定时任务:crontab -e
0 1 * * * /path/to/sftp_transfer.sh
这里的0 1 * * *表示每天的凌晨1点(1点0分)。你可以根据自己的需求调整时间。
cron表。现在,你的SFTP定时任务已经设置好了。Cron将按照你设置的时间自动执行SFTP脚本。
请注意,上面的脚本示例中使用了密码来进行身份验证,这在安全性上是不推荐的。更好的做法是使用SSH密钥对来进行身份验证。如果你使用密钥认证,你可以省略脚本中的密码部分,并确保你的私钥文件的安全。