python2批量在文件同文件夹下备份为[文件名]+[.bak] ``` /etc/pam.d/su /etc/pam.d/password-auth-ac /etc/pam.d/system-auth /etc/login.defs /etc/ssh/sshd_config /etc/vsftpd/vsftpd.conf /etc/profile /etc/motd ```
时间: 2023-08-04 12:07:38 浏览: 58
以下是使用Python 2批量备份文件的示例代码:
```python
import os
# 要备份的文件列表
files = [
"/etc/pam.d/su",
"/etc/pam.d/password-auth-ac",
"/etc/pam.d/system-auth",
"/etc/login.defs",
"/etc/ssh/sshd_config",
"/etc/vsftpd/vsftpd.conf",
"/etc/profile",
"/etc/motd"
]
# 遍历文件列表
for file_path in files:
# 获取文件名和文件所在的目录
file_dir, file_name = os.path.split(file_path)
# 构建备份文件名
backup_file_name = file_name + ".bak"
# 构建备份文件的完整路径
backup_file_path = os.path.join(file_dir, backup_file_name)
# 备份文件
os.rename(file_path, backup_file_path)
print("已备份文件:" + file_path + " -> " + backup_file_path)
```
请注意,这是使用Python 2编写的代码,对应的Python 3代码可能会有一些差异。
相关问题
``` cp /etc/pam.d/su /etc/pam.d/su.bak cp /etc/pam.d/password-auth-ac /etc/pam.d/password-auth-ac.bak cp /etc/pam.d/system-auth /etc/pam.d/system-auth.bak cp /etc/login.defs /etc/login.defs.bak cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak cp /etc/profile /etc/profile.bak cp /etc/motd /etc/motd.bak ```
这些命令是用来备份一些文件和配置的,具体解释如下:
1. `cp /etc/pam.d/su /etc/pam.d/su.bak`:备份/etc/pam.d/su文件为/etc/pam.d/su.bak。
2. `cp /etc/pam.d/password-auth-ac /etc/pam.d/password-auth-ac.bak`:备份/etc/pam.d/password-auth-ac文件为/etc/pam.d/password-auth-ac.bak。
3. `cp /etc/pam.d/system-auth /etc/pam.d/system-auth.bak`:备份/etc/pam.d/system-auth文件为/etc/pam.d/system-auth.bak。
4. `cp /etc/login.defs /etc/login.defs.bak`:备份/etc/login.defs文件为/etc/login.defs.bak。
5. `cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak`:备份/etc/ssh/sshd_config文件为/etc/ssh/sshd_config.bak。
6. `cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak`:备份/etc/vsftpd/vsftpd.conf文件为/etc/vsftpd/vsftpd.conf.bak。
7. `cp /etc/profile /etc/profile.bak`:备份/etc/profile文件为/etc/profile.bak。
8. `cp /etc/motd /etc/motd.bak`:备份/etc/motd文件为/etc/motd.bak。
这些命令将原始文件复制为后缀名为.bak的备份文件,以便在进行配置或修改之前可以恢复原始文件。
python2 查看是否存在下面的文件并备份 cp /etc/pam.d/su /etc/pam.d/su.bak cp /etc/pam.d/password-auth-ac /etc/pam.d/password-auth-ac.bak cp /etc/pam.d/system-auth /etc/pam.d/system-auth.bak cp /etc/login.defs /etc/login.defs.bak cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak cp /etc/profile /etc/profile.bak cp /etc/motd /etc/motd.bak
以下是将这些命令转换为Python代码的示例:
```python
import subprocess
files_to_backup = [
"/etc/pam.d/su",
"/etc/pam.d/password-auth-ac",
"/etc/pam.d/system-auth",
"/etc/login.defs",
"/etc/ssh/sshd_config",
"/etc/vsftpd/vsftpd.conf",
"/etc/profile",
"/etc/motd"
]
for file_path in files_to_backup:
backup_file_path = file_path + ".bak"
subprocess.call(["cp", file_path, backup_file_path])
print("Backup completed.")
```
上述代码使用循环来遍历要备份的文件路径列表。对于每个文件,它使用`cp`命令将原文件复制为具有`.bak`扩展名的备份文件。
请确保你具有足够的权限来执行这些操作,并将需要备份的文件路径添加到`files_to_backup`列表中。运行代码后,文件将被备份,并打印出`Backup completed.`。